#include <tree_sitter/parser.h>

#if defined(__GNUC__) || defined(__clang__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
#endif

#define LANGUAGE_VERSION 11
#define STATE_COUNT 580
#define LARGE_STATE_COUNT 2
#define SYMBOL_COUNT 147
#define ALIAS_COUNT 0
#define TOKEN_COUNT 46
#define EXTERNAL_TOKEN_COUNT 0
#define FIELD_COUNT 0
#define MAX_ALIAS_SEQUENCE_LENGTH 9

enum {
  anon_sym_namespace = 1,
  anon_sym_COLON_COLON = 2,
  sym_name = 3,
  anon_sym_POUND = 4,
  anon_sym_using = 5,
  anon_sym_EQ = 6,
  anon_sym_entry = 7,
  sym_doc = 8,
  anon_sym_type = 9,
  anon_sym_LBRACK = 10,
  anon_sym_COMMA = 11,
  anon_sym_RBRACK = 12,
  anon_sym_LPAREN = 13,
  anon_sym_RPAREN = 14,
  anon_sym_native = 15,
  anon_sym_record = 16,
  anon_sym_LBRACE = 17,
  anon_sym_RBRACE = 18,
  anon_sym_interface = 19,
  anon_sym_union = 20,
  anon_sym_enum = 21,
  anon_sym_function = 22,
  anon_sym_operator = 23,
  anon_sym_variadic = 24,
  anon_sym_const = 25,
  anon_sym_method = 26,
  anon_sym_DOT = 27,
  anon_sym_COLON = 28,
  anon_sym_PIPE = 29,
  anon_sym_EQ_GT = 30,
  anon_sym_AMP = 31,
  anon_sym_if = 32,
  anon_sym_else = 33,
  anon_sym_let = 34,
  anon_sym_when = 35,
  anon_sym_each = 36,
  anon_sym_AT = 37,
  anon_sym_new = 38,
  sym_int = 39,
  sym_float = 40,
  sym_char = 41,
  sym_byte = 42,
  sym_text = 43,
  anon_sym_DOT_DOT = 44,
  sym_tree_sitter_ignore_rule = 45,
  sym_source_file = 46,
  sym_ns = 47,
  sym_alias = 48,
  sym_alias_name = 49,
  sym_alias_target = 50,
  sym_alias_to_ns = 51,
  sym_alias_to_ref_base = 52,
  sym_stmt = 53,
  sym_decl_entry = 54,
  sym_docs = 55,
  sym_decl_type = 56,
  sym_type_params = 57,
  sym_impl = 58,
  sym_ref_base = 59,
  sym_ns_prefix = 60,
  sym_type_def = 61,
  sym_record = 62,
  sym_record_def = 63,
  sym_field = 64,
  sym_field_default = 65,
  sym_interface = 66,
  sym_method = 67,
  sym_union = 68,
  sym_enum = 69,
  sym_enum_item = 70,
  sym_decl_func = 71,
  sym_sig = 72,
  sym_inputs = 73,
  sym_implicit = 74,
  sym_output = 75,
  sym_body = 76,
  sym_native_body = 77,
  sym_decl_const = 78,
  sym_decl_method = 79,
  sym_receiver = 80,
  sym_type = 81,
  sym_ref = 82,
  sym_type_args = 83,
  sym_expr = 84,
  sym_cast = 85,
  sym_pipe = 86,
  sym_pipe_call = 87,
  sym_call_ordered = 88,
  sym_call_unordered = 89,
  sym_arg_mapping = 90,
  sym_arg_mapping_to = 91,
  sym_pipe_infix = 92,
  sym_pipe_cast = 93,
  sym_pipe_get = 94,
  sym_pipe_interior = 95,
  sym_term = 96,
  sym_infix_term = 97,
  sym_infix_left = 98,
  sym_operator = 99,
  sym_infix_right = 100,
  sym_lambda = 101,
  sym_lambda_self = 102,
  sym_pattern = 103,
  sym_pattern_single = 104,
  sym_pattern_multiple = 105,
  sym_if = 106,
  sym_cond = 107,
  sym_cond_pattern = 108,
  sym_if_yes = 109,
  sym_if_no = 110,
  sym_elif = 111,
  sym_when = 112,
  sym_case = 113,
  sym_each = 114,
  sym_block = 115,
  sym_binding = 116,
  sym_binding_plain = 117,
  sym_binding_cps = 118,
  sym_cps_pattern = 119,
  sym_ref_term = 120,
  sym_new = 121,
  sym_new_tag = 122,
  sym_bytes = 123,
  sym_string = 124,
  sym_string_part = 125,
  sym_string_part_content = 126,
  aux_sym_source_file_repeat1 = 127,
  aux_sym_source_file_repeat2 = 128,
  aux_sym_docs_repeat1 = 129,
  aux_sym_type_params_repeat1 = 130,
  aux_sym_impl_repeat1 = 131,
  aux_sym_record_def_repeat1 = 132,
  aux_sym_interface_repeat1 = 133,
  aux_sym_union_repeat1 = 134,
  aux_sym_enum_repeat1 = 135,
  aux_sym_expr_repeat1 = 136,
  aux_sym_expr_repeat2 = 137,
  aux_sym_call_ordered_repeat1 = 138,
  aux_sym_call_unordered_repeat1 = 139,
  aux_sym_if_repeat1 = 140,
  aux_sym_if_repeat2 = 141,
  aux_sym_when_repeat1 = 142,
  aux_sym_case_repeat1 = 143,
  aux_sym_block_repeat1 = 144,
  aux_sym_bytes_repeat1 = 145,
  aux_sym_string_repeat1 = 146,
};

static const char *ts_symbol_names[] = {
  [ts_builtin_sym_end] = "end",
  [anon_sym_namespace] = "namespace",
  [anon_sym_COLON_COLON] = "::",
  [sym_name] = "name",
  [anon_sym_POUND] = "#",
  [anon_sym_using] = "using",
  [anon_sym_EQ] = "=",
  [anon_sym_entry] = "entry",
  [sym_doc] = "doc",
  [anon_sym_type] = "type",
  [anon_sym_LBRACK] = "[",
  [anon_sym_COMMA] = ",",
  [anon_sym_RBRACK] = "]",
  [anon_sym_LPAREN] = "(",
  [anon_sym_RPAREN] = ")",
  [anon_sym_native] = "native",
  [anon_sym_record] = "record",
  [anon_sym_LBRACE] = "{",
  [anon_sym_RBRACE] = "}",
  [anon_sym_interface] = "interface",
  [anon_sym_union] = "union",
  [anon_sym_enum] = "enum",
  [anon_sym_function] = "function",
  [anon_sym_operator] = "operator",
  [anon_sym_variadic] = "variadic",
  [anon_sym_const] = "const",
  [anon_sym_method] = "method",
  [anon_sym_DOT] = ".",
  [anon_sym_COLON] = ":",
  [anon_sym_PIPE] = "|",
  [anon_sym_EQ_GT] = "=>",
  [anon_sym_AMP] = "&",
  [anon_sym_if] = "if",
  [anon_sym_else] = "else",
  [anon_sym_let] = "let",
  [anon_sym_when] = "when",
  [anon_sym_each] = "each",
  [anon_sym_AT] = "@",
  [anon_sym_new] = "new",
  [sym_int] = "int",
  [sym_float] = "float",
  [sym_char] = "char",
  [sym_byte] = "byte",
  [sym_text] = "text",
  [anon_sym_DOT_DOT] = "..",
  [sym_tree_sitter_ignore_rule] = "tree_sitter_ignore_rule",
  [sym_source_file] = "source_file",
  [sym_ns] = "ns",
  [sym_alias] = "alias",
  [sym_alias_name] = "alias_name",
  [sym_alias_target] = "alias_target",
  [sym_alias_to_ns] = "alias_to_ns",
  [sym_alias_to_ref_base] = "alias_to_ref_base",
  [sym_stmt] = "stmt",
  [sym_decl_entry] = "decl_entry",
  [sym_docs] = "docs",
  [sym_decl_type] = "decl_type",
  [sym_type_params] = "type_params",
  [sym_impl] = "impl",
  [sym_ref_base] = "ref_base",
  [sym_ns_prefix] = "ns_prefix",
  [sym_type_def] = "type_def",
  [sym_record] = "record",
  [sym_record_def] = "record_def",
  [sym_field] = "field",
  [sym_field_default] = "field_default",
  [sym_interface] = "interface",
  [sym_method] = "method",
  [sym_union] = "union",
  [sym_enum] = "enum",
  [sym_enum_item] = "enum_item",
  [sym_decl_func] = "decl_func",
  [sym_sig] = "sig",
  [sym_inputs] = "inputs",
  [sym_implicit] = "implicit",
  [sym_output] = "output",
  [sym_body] = "body",
  [sym_native_body] = "native_body",
  [sym_decl_const] = "decl_const",
  [sym_decl_method] = "decl_method",
  [sym_receiver] = "receiver",
  [sym_type] = "type",
  [sym_ref] = "ref",
  [sym_type_args] = "type_args",
  [sym_expr] = "expr",
  [sym_cast] = "cast",
  [sym_pipe] = "pipe",
  [sym_pipe_call] = "pipe_call",
  [sym_call_ordered] = "call_ordered",
  [sym_call_unordered] = "call_unordered",
  [sym_arg_mapping] = "arg_mapping",
  [sym_arg_mapping_to] = "arg_mapping_to",
  [sym_pipe_infix] = "pipe_infix",
  [sym_pipe_cast] = "pipe_cast",
  [sym_pipe_get] = "pipe_get",
  [sym_pipe_interior] = "pipe_interior",
  [sym_term] = "term",
  [sym_infix_term] = "infix_term",
  [sym_infix_left] = "infix_left",
  [sym_operator] = "operator",
  [sym_infix_right] = "infix_right",
  [sym_lambda] = "lambda",
  [sym_lambda_self] = "lambda_self",
  [sym_pattern] = "pattern",
  [sym_pattern_single] = "pattern_single",
  [sym_pattern_multiple] = "pattern_multiple",
  [sym_if] = "if",
  [sym_cond] = "cond",
  [sym_cond_pattern] = "cond_pattern",
  [sym_if_yes] = "if_yes",
  [sym_if_no] = "if_no",
  [sym_elif] = "elif",
  [sym_when] = "when",
  [sym_case] = "case",
  [sym_each] = "each",
  [sym_block] = "block",
  [sym_binding] = "binding",
  [sym_binding_plain] = "binding_plain",
  [sym_binding_cps] = "binding_cps",
  [sym_cps_pattern] = "cps_pattern",
  [sym_ref_term] = "ref_term",
  [sym_new] = "new",
  [sym_new_tag] = "new_tag",
  [sym_bytes] = "bytes",
  [sym_string] = "string",
  [sym_string_part] = "string_part",
  [sym_string_part_content] = "string_part_content",
  [aux_sym_source_file_repeat1] = "source_file_repeat1",
  [aux_sym_source_file_repeat2] = "source_file_repeat2",
  [aux_sym_docs_repeat1] = "docs_repeat1",
  [aux_sym_type_params_repeat1] = "type_params_repeat1",
  [aux_sym_impl_repeat1] = "impl_repeat1",
  [aux_sym_record_def_repeat1] = "record_def_repeat1",
  [aux_sym_interface_repeat1] = "interface_repeat1",
  [aux_sym_union_repeat1] = "union_repeat1",
  [aux_sym_enum_repeat1] = "enum_repeat1",
  [aux_sym_expr_repeat1] = "expr_repeat1",
  [aux_sym_expr_repeat2] = "expr_repeat2",
  [aux_sym_call_ordered_repeat1] = "call_ordered_repeat1",
  [aux_sym_call_unordered_repeat1] = "call_unordered_repeat1",
  [aux_sym_if_repeat1] = "if_repeat1",
  [aux_sym_if_repeat2] = "if_repeat2",
  [aux_sym_when_repeat1] = "when_repeat1",
  [aux_sym_case_repeat1] = "case_repeat1",
  [aux_sym_block_repeat1] = "block_repeat1",
  [aux_sym_bytes_repeat1] = "bytes_repeat1",
  [aux_sym_string_repeat1] = "string_repeat1",
};

static TSSymbol ts_symbol_map[] = {
  [ts_builtin_sym_end] = ts_builtin_sym_end,
  [anon_sym_namespace] = anon_sym_namespace,
  [anon_sym_COLON_COLON] = anon_sym_COLON_COLON,
  [sym_name] = sym_name,
  [anon_sym_POUND] = anon_sym_POUND,
  [anon_sym_using] = anon_sym_using,
  [anon_sym_EQ] = anon_sym_EQ,
  [anon_sym_entry] = anon_sym_entry,
  [sym_doc] = sym_doc,
  [anon_sym_type] = anon_sym_type,
  [anon_sym_LBRACK] = anon_sym_LBRACK,
  [anon_sym_COMMA] = anon_sym_COMMA,
  [anon_sym_RBRACK] = anon_sym_RBRACK,
  [anon_sym_LPAREN] = anon_sym_LPAREN,
  [anon_sym_RPAREN] = anon_sym_RPAREN,
  [anon_sym_native] = anon_sym_native,
  [anon_sym_record] = anon_sym_record,
  [anon_sym_LBRACE] = anon_sym_LBRACE,
  [anon_sym_RBRACE] = anon_sym_RBRACE,
  [anon_sym_interface] = anon_sym_interface,
  [anon_sym_union] = anon_sym_union,
  [anon_sym_enum] = anon_sym_enum,
  [anon_sym_function] = anon_sym_function,
  [anon_sym_operator] = anon_sym_operator,
  [anon_sym_variadic] = anon_sym_variadic,
  [anon_sym_const] = anon_sym_const,
  [anon_sym_method] = anon_sym_method,
  [anon_sym_DOT] = anon_sym_DOT,
  [anon_sym_COLON] = anon_sym_COLON,
  [anon_sym_PIPE] = anon_sym_PIPE,
  [anon_sym_EQ_GT] = anon_sym_EQ_GT,
  [anon_sym_AMP] = anon_sym_AMP,
  [anon_sym_if] = anon_sym_if,
  [anon_sym_else] = anon_sym_else,
  [anon_sym_let] = anon_sym_let,
  [anon_sym_when] = anon_sym_when,
  [anon_sym_each] = anon_sym_each,
  [anon_sym_AT] = anon_sym_AT,
  [anon_sym_new] = anon_sym_new,
  [sym_int] = sym_int,
  [sym_float] = sym_float,
  [sym_char] = sym_char,
  [sym_byte] = sym_byte,
  [sym_text] = sym_text,
  [anon_sym_DOT_DOT] = anon_sym_DOT_DOT,
  [sym_tree_sitter_ignore_rule] = sym_tree_sitter_ignore_rule,
  [sym_source_file] = sym_source_file,
  [sym_ns] = sym_ns,
  [sym_alias] = sym_alias,
  [sym_alias_name] = sym_alias_name,
  [sym_alias_target] = sym_alias_target,
  [sym_alias_to_ns] = sym_alias_to_ns,
  [sym_alias_to_ref_base] = sym_alias_to_ref_base,
  [sym_stmt] = sym_stmt,
  [sym_decl_entry] = sym_decl_entry,
  [sym_docs] = sym_docs,
  [sym_decl_type] = sym_decl_type,
  [sym_type_params] = sym_type_params,
  [sym_impl] = sym_impl,
  [sym_ref_base] = sym_ref_base,
  [sym_ns_prefix] = sym_ns_prefix,
  [sym_type_def] = sym_type_def,
  [sym_record] = sym_record,
  [sym_record_def] = sym_record_def,
  [sym_field] = sym_field,
  [sym_field_default] = sym_field_default,
  [sym_interface] = sym_interface,
  [sym_method] = sym_method,
  [sym_union] = sym_union,
  [sym_enum] = sym_enum,
  [sym_enum_item] = sym_enum_item,
  [sym_decl_func] = sym_decl_func,
  [sym_sig] = sym_sig,
  [sym_inputs] = sym_inputs,
  [sym_implicit] = sym_implicit,
  [sym_output] = sym_output,
  [sym_body] = sym_body,
  [sym_native_body] = sym_native_body,
  [sym_decl_const] = sym_decl_const,
  [sym_decl_method] = sym_decl_method,
  [sym_receiver] = sym_receiver,
  [sym_type] = sym_type,
  [sym_ref] = sym_ref,
  [sym_type_args] = sym_type_args,
  [sym_expr] = sym_expr,
  [sym_cast] = sym_cast,
  [sym_pipe] = sym_pipe,
  [sym_pipe_call] = sym_pipe_call,
  [sym_call_ordered] = sym_call_ordered,
  [sym_call_unordered] = sym_call_unordered,
  [sym_arg_mapping] = sym_arg_mapping,
  [sym_arg_mapping_to] = sym_arg_mapping_to,
  [sym_pipe_infix] = sym_pipe_infix,
  [sym_pipe_cast] = sym_pipe_cast,
  [sym_pipe_get] = sym_pipe_get,
  [sym_pipe_interior] = sym_pipe_interior,
  [sym_term] = sym_term,
  [sym_infix_term] = sym_infix_term,
  [sym_infix_left] = sym_infix_left,
  [sym_operator] = sym_operator,
  [sym_infix_right] = sym_infix_right,
  [sym_lambda] = sym_lambda,
  [sym_lambda_self] = sym_lambda_self,
  [sym_pattern] = sym_pattern,
  [sym_pattern_single] = sym_pattern_single,
  [sym_pattern_multiple] = sym_pattern_multiple,
  [sym_if] = sym_if,
  [sym_cond] = sym_cond,
  [sym_cond_pattern] = sym_cond_pattern,
  [sym_if_yes] = sym_if_yes,
  [sym_if_no] = sym_if_no,
  [sym_elif] = sym_elif,
  [sym_when] = sym_when,
  [sym_case] = sym_case,
  [sym_each] = sym_each,
  [sym_block] = sym_block,
  [sym_binding] = sym_binding,
  [sym_binding_plain] = sym_binding_plain,
  [sym_binding_cps] = sym_binding_cps,
  [sym_cps_pattern] = sym_cps_pattern,
  [sym_ref_term] = sym_ref_term,
  [sym_new] = sym_new,
  [sym_new_tag] = sym_new_tag,
  [sym_bytes] = sym_bytes,
  [sym_string] = sym_string,
  [sym_string_part] = sym_string_part,
  [sym_string_part_content] = sym_string_part_content,
  [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1,
  [aux_sym_source_file_repeat2] = aux_sym_source_file_repeat2,
  [aux_sym_docs_repeat1] = aux_sym_docs_repeat1,
  [aux_sym_type_params_repeat1] = aux_sym_type_params_repeat1,
  [aux_sym_impl_repeat1] = aux_sym_impl_repeat1,
  [aux_sym_record_def_repeat1] = aux_sym_record_def_repeat1,
  [aux_sym_interface_repeat1] = aux_sym_interface_repeat1,
  [aux_sym_union_repeat1] = aux_sym_union_repeat1,
  [aux_sym_enum_repeat1] = aux_sym_enum_repeat1,
  [aux_sym_expr_repeat1] = aux_sym_expr_repeat1,
  [aux_sym_expr_repeat2] = aux_sym_expr_repeat2,
  [aux_sym_call_ordered_repeat1] = aux_sym_call_ordered_repeat1,
  [aux_sym_call_unordered_repeat1] = aux_sym_call_unordered_repeat1,
  [aux_sym_if_repeat1] = aux_sym_if_repeat1,
  [aux_sym_if_repeat2] = aux_sym_if_repeat2,
  [aux_sym_when_repeat1] = aux_sym_when_repeat1,
  [aux_sym_case_repeat1] = aux_sym_case_repeat1,
  [aux_sym_block_repeat1] = aux_sym_block_repeat1,
  [aux_sym_bytes_repeat1] = aux_sym_bytes_repeat1,
  [aux_sym_string_repeat1] = aux_sym_string_repeat1,
};

static const TSSymbolMetadata ts_symbol_metadata[] = {
  [ts_builtin_sym_end] = {
    .visible = false,
    .named = true,
  },
  [anon_sym_namespace] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_COLON_COLON] = {
    .visible = true,
    .named = false,
  },
  [sym_name] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_POUND] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_using] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_entry] = {
    .visible = true,
    .named = false,
  },
  [sym_doc] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_type] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LBRACK] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_COMMA] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_RBRACK] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LPAREN] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_RPAREN] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_native] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_record] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LBRACE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_RBRACE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_interface] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_union] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_enum] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_function] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_operator] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_variadic] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_const] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_method] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DOT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_COLON] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PIPE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_EQ_GT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_AMP] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_if] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_else] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_let] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_when] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_each] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_AT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_new] = {
    .visible = true,
    .named = false,
  },
  [sym_int] = {
    .visible = true,
    .named = true,
  },
  [sym_float] = {
    .visible = true,
    .named = true,
  },
  [sym_char] = {
    .visible = true,
    .named = true,
  },
  [sym_byte] = {
    .visible = true,
    .named = true,
  },
  [sym_text] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_DOT_DOT] = {
    .visible = true,
    .named = false,
  },
  [sym_tree_sitter_ignore_rule] = {
    .visible = true,
    .named = true,
  },
  [sym_source_file] = {
    .visible = true,
    .named = true,
  },
  [sym_ns] = {
    .visible = true,
    .named = true,
  },
  [sym_alias] = {
    .visible = true,
    .named = true,
  },
  [sym_alias_name] = {
    .visible = true,
    .named = true,
  },
  [sym_alias_target] = {
    .visible = true,
    .named = true,
  },
  [sym_alias_to_ns] = {
    .visible = true,
    .named = true,
  },
  [sym_alias_to_ref_base] = {
    .visible = true,
    .named = true,
  },
  [sym_stmt] = {
    .visible = true,
    .named = true,
  },
  [sym_decl_entry] = {
    .visible = true,
    .named = true,
  },
  [sym_docs] = {
    .visible = true,
    .named = true,
  },
  [sym_decl_type] = {
    .visible = true,
    .named = true,
  },
  [sym_type_params] = {
    .visible = true,
    .named = true,
  },
  [sym_impl] = {
    .visible = true,
    .named = true,
  },
  [sym_ref_base] = {
    .visible = true,
    .named = true,
  },
  [sym_ns_prefix] = {
    .visible = true,
    .named = true,
  },
  [sym_type_def] = {
    .visible = true,
    .named = true,
  },
  [sym_record] = {
    .visible = true,
    .named = true,
  },
  [sym_record_def] = {
    .visible = true,
    .named = true,
  },
  [sym_field] = {
    .visible = true,
    .named = true,
  },
  [sym_field_default] = {
    .visible = true,
    .named = true,
  },
  [sym_interface] = {
    .visible = true,
    .named = true,
  },
  [sym_method] = {
    .visible = true,
    .named = true,
  },
  [sym_union] = {
    .visible = true,
    .named = true,
  },
  [sym_enum] = {
    .visible = true,
    .named = true,
  },
  [sym_enum_item] = {
    .visible = true,
    .named = true,
  },
  [sym_decl_func] = {
    .visible = true,
    .named = true,
  },
  [sym_sig] = {
    .visible = true,
    .named = true,
  },
  [sym_inputs] = {
    .visible = true,
    .named = true,
  },
  [sym_implicit] = {
    .visible = true,
    .named = true,
  },
  [sym_output] = {
    .visible = true,
    .named = true,
  },
  [sym_body] = {
    .visible = true,
    .named = true,
  },
  [sym_native_body] = {
    .visible = true,
    .named = true,
  },
  [sym_decl_const] = {
    .visible = true,
    .named = true,
  },
  [sym_decl_method] = {
    .visible = true,
    .named = true,
  },
  [sym_receiver] = {
    .visible = true,
    .named = true,
  },
  [sym_type] = {
    .visible = true,
    .named = true,
  },
  [sym_ref] = {
    .visible = true,
    .named = true,
  },
  [sym_type_args] = {
    .visible = true,
    .named = true,
  },
  [sym_expr] = {
    .visible = true,
    .named = true,
  },
  [sym_cast] = {
    .visible = true,
    .named = true,
  },
  [sym_pipe] = {
    .visible = true,
    .named = true,
  },
  [sym_pipe_call] = {
    .visible = true,
    .named = true,
  },
  [sym_call_ordered] = {
    .visible = true,
    .named = true,
  },
  [sym_call_unordered] = {
    .visible = true,
    .named = true,
  },
  [sym_arg_mapping] = {
    .visible = true,
    .named = true,
  },
  [sym_arg_mapping_to] = {
    .visible = true,
    .named = true,
  },
  [sym_pipe_infix] = {
    .visible = true,
    .named = true,
  },
  [sym_pipe_cast] = {
    .visible = true,
    .named = true,
  },
  [sym_pipe_get] = {
    .visible = true,
    .named = true,
  },
  [sym_pipe_interior] = {
    .visible = true,
    .named = true,
  },
  [sym_term] = {
    .visible = true,
    .named = true,
  },
  [sym_infix_term] = {
    .visible = true,
    .named = true,
  },
  [sym_infix_left] = {
    .visible = true,
    .named = true,
  },
  [sym_operator] = {
    .visible = true,
    .named = true,
  },
  [sym_infix_right] = {
    .visible = true,
    .named = true,
  },
  [sym_lambda] = {
    .visible = true,
    .named = true,
  },
  [sym_lambda_self] = {
    .visible = true,
    .named = true,
  },
  [sym_pattern] = {
    .visible = true,
    .named = true,
  },
  [sym_pattern_single] = {
    .visible = true,
    .named = true,
  },
  [sym_pattern_multiple] = {
    .visible = true,
    .named = true,
  },
  [sym_if] = {
    .visible = true,
    .named = true,
  },
  [sym_cond] = {
    .visible = true,
    .named = true,
  },
  [sym_cond_pattern] = {
    .visible = true,
    .named = true,
  },
  [sym_if_yes] = {
    .visible = true,
    .named = true,
  },
  [sym_if_no] = {
    .visible = true,
    .named = true,
  },
  [sym_elif] = {
    .visible = true,
    .named = true,
  },
  [sym_when] = {
    .visible = true,
    .named = true,
  },
  [sym_case] = {
    .visible = true,
    .named = true,
  },
  [sym_each] = {
    .visible = true,
    .named = true,
  },
  [sym_block] = {
    .visible = true,
    .named = true,
  },
  [sym_binding] = {
    .visible = true,
    .named = true,
  },
  [sym_binding_plain] = {
    .visible = true,
    .named = true,
  },
  [sym_binding_cps] = {
    .visible = true,
    .named = true,
  },
  [sym_cps_pattern] = {
    .visible = true,
    .named = true,
  },
  [sym_ref_term] = {
    .visible = true,
    .named = true,
  },
  [sym_new] = {
    .visible = true,
    .named = true,
  },
  [sym_new_tag] = {
    .visible = true,
    .named = true,
  },
  [sym_bytes] = {
    .visible = true,
    .named = true,
  },
  [sym_string] = {
    .visible = true,
    .named = true,
  },
  [sym_string_part] = {
    .visible = true,
    .named = true,
  },
  [sym_string_part_content] = {
    .visible = true,
    .named = true,
  },
  [aux_sym_source_file_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_source_file_repeat2] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_docs_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_type_params_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_impl_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_record_def_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_interface_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_union_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_enum_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_expr_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_expr_repeat2] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_call_ordered_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_call_unordered_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_if_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_if_repeat2] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_when_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_case_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_block_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_bytes_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_string_repeat1] = {
    .visible = false,
    .named = false,
  },
};

static TSSymbol ts_alias_sequences[1][MAX_ALIAS_SEQUENCE_LENGTH] = {
  [0] = {0},
};

static bool ts_lex(TSLexer *lexer, TSStateId state) {
  START_LEXER();
  eof = lexer->eof(lexer);
  switch (state) {
    case 0:
      if (eof) ADVANCE(120);
      if (lookahead == '\n') SKIP(0)
      if (lookahead == '"') ADVANCE(13);
      if (lookahead == '#') ADVANCE(169);
      if (lookahead == '&') ADVANCE(201);
      if (lookahead == '\'') ADVANCE(15);
      if (lookahead == '(') ADVANCE(178);
      if (lookahead == ')') ADVANCE(179);
      if (lookahead == ',') ADVANCE(176);
      if (lookahead == '-') ADVANCE(18);
      if (lookahead == '.') ADVANCE(195);
      if (lookahead == '/') ADVANCE(16);
      if (lookahead == '0') ADVANCE(214);
      if (lookahead == ':') ADVANCE(197);
      if (lookahead == '=') ADVANCE(171);
      if (lookahead == '@') ADVANCE(211);
      if (lookahead == '[') ADVANCE(175);
      if (lookahead == '\\') ADVANCE(101);
      if (lookahead == ']') ADVANCE(177);
      if (lookahead == '`') ADVANCE(117);
      if (lookahead == 'c') ADVANCE(74);
      if (lookahead == 'e') ADVANCE(22);
      if (lookahead == 'f') ADVANCE(103);
      if (lookahead == 'i') ADVANCE(51);
      if (lookahead == 'l') ADVANCE(45);
      if (lookahead == 'm') ADVANCE(47);
      if (lookahead == 'n') ADVANCE(24);
      if (lookahead == 'o') ADVANCE(80);
      if (lookahead == 'r') ADVANCE(44);
      if (lookahead == 't') ADVANCE(108);
      if (lookahead == 'u') ADVANCE(66);
      if (lookahead == 'v') ADVANCE(25);
      if (lookahead == 'w') ADVANCE(56);
      if (lookahead == '{') ADVANCE(182);
      if (lookahead == '|') ADVANCE(198);
      if (lookahead == '}') ADVANCE(183);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ' ||
          lookahead == 12288) SKIP(0)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(215);
      END_STATE();
    case 1:
      if (lookahead == '\n') SKIP(1)
      if (lookahead == '"') ADVANCE(13);
      if (lookahead == '#') ADVANCE(169);
      if (lookahead == '&') ADVANCE(201);
      if (lookahead == '\'') ADVANCE(15);
      if (lookahead == '(') ADVANCE(178);
      if (lookahead == '-') ADVANCE(129);
      if (lookahead == '/') ADVANCE(126);
      if (lookahead == '0') ADVANCE(214);
      if (lookahead == '=') ADVANCE(130);
      if (lookahead == '@') ADVANCE(211);
      if (lookahead == '\\') ADVANCE(101);
      if (lookahead == '`') ADVANCE(117);
      if (lookahead == 'c') ADVANCE(153);
      if (lookahead == 'e') ADVANCE(131);
      if (lookahead == 'i') ADVANCE(145);
      if (lookahead == 'l') ADVANCE(140);
      if (lookahead == 'n') ADVANCE(141);
      if (lookahead == 'w') ADVANCE(147);
      if (lookahead == '{') ADVANCE(182);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ' ||
          lookahead == 12288) SKIP(1)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(215);
      if (lookahead != 0 &&
          lookahead != ')' &&
          (lookahead < ',' || ';' < lookahead) &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '|' &&
          lookahead != '}') ADVANCE(168);
      END_STATE();
    case 2:
      if (lookahead == '\n') SKIP(2)
      if (lookahead == '"') ADVANCE(13);
      if (lookahead == '#') ADVANCE(169);
      if (lookahead == '\'') ADVANCE(15);
      if (lookahead == '(') ADVANCE(178);
      if (lookahead == '-') ADVANCE(129);
      if (lookahead == '/') ADVANCE(126);
      if (lookahead == '0') ADVANCE(214);
      if (lookahead == '@') ADVANCE(211);
      if (lookahead == '\\') ADVANCE(101);
      if (lookahead == '`') ADVANCE(117);
      if (lookahead == 'c') ADVANCE(153);
      if (lookahead == 'e') ADVANCE(131);
      if (lookahead == 'i') ADVANCE(145);
      if (lookahead == 'l') ADVANCE(140);
      if (lookahead == 'n') ADVANCE(141);
      if (lookahead == 'w') ADVANCE(147);
      if (lookahead == '{') ADVANCE(182);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ' ||
          lookahead == 12288) SKIP(2)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(215);
      if (lookahead != 0 &&
          (lookahead < '&' || ')' < lookahead) &&
          (lookahead < ',' || ';' < lookahead) &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '|' &&
          lookahead != '}') ADVANCE(168);
      END_STATE();
    case 3:
      if (lookahead == '\n') SKIP(3)
      if (lookahead == '"') ADVANCE(13);
      if (lookahead == '\'') ADVANCE(15);
      if (lookahead == '(') ADVANCE(178);
      if (lookahead == ')') ADVANCE(179);
      if (lookahead == '-') ADVANCE(129);
      if (lookahead == '/') ADVANCE(126);
      if (lookahead == '0') ADVANCE(214);
      if (lookahead == ':') ADVANCE(19);
      if (lookahead == '[') ADVANCE(175);
      if (lookahead == '\\') ADVANCE(101);
      if (lookahead == '`') ADVANCE(117);
      if (lookahead == 'e') ADVANCE(131);
      if (lookahead == 'i') ADVANCE(145);
      if (lookahead == 'n') ADVANCE(141);
      if (lookahead == 'w') ADVANCE(147);
      if (lookahead == '{') ADVANCE(182);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ' ||
          lookahead == 12288) SKIP(3)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(215);
      if (lookahead != 0 &&
          lookahead != '#' &&
          lookahead != '&' &&
          (lookahead < ',' || ';' < lookahead) &&
          lookahead != '@' &&
          lookahead != ']' &&
          lookahead != '|' &&
          lookahead != '}') ADVANCE(168);
      END_STATE();
    case 4:
      if (lookahead == '\n') SKIP(4)
      if (lookahead == '"') ADVANCE(13);
      if (lookahead == '\'') ADVANCE(15);
      if (lookahead == '(') ADVANCE(178);
      if (lookahead == '-') ADVANCE(129);
      if (lookahead == '/') ADVANCE(126);
      if (lookahead == '0') ADVANCE(214);
      if (lookahead == '\\') ADVANCE(101);
      if (lookahead == '`') ADVANCE(117);
      if (lookahead == 'e') ADVANCE(131);
      if (lookahead == 'i') ADVANCE(145);
      if (lookahead == 'l') ADVANCE(140);
      if (lookahead == 'n') ADVANCE(141);
      if (lookahead == 'w') ADVANCE(147);
      if (lookahead == '{') ADVANCE(182);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ' ||
          lookahead == 12288) SKIP(4)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(215);
      if (lookahead != 0 &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          (lookahead < ',' || ';' < lookahead) &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '|' &&
          lookahead != '}') ADVANCE(168);
      END_STATE();
    case 5:
      if (lookahead == '\n') SKIP(5)
      if (lookahead == '#') ADVANCE(169);
      if (lookahead == '(') ADVANCE(178);
      if (lookahead == ')') ADVANCE(179);
      if (lookahead == ',') ADVANCE(176);
      if (lookahead == '.') ADVANCE(195);
      if (lookahead == '/') ADVANCE(126);
      if (lookahead == ':') ADVANCE(19);
      if (lookahead == '[') ADVANCE(175);
      if (lookahead == '\\') ADVANCE(106);
      if (lookahead == ']') ADVANCE(177);
      if (lookahead == '{') ADVANCE(182);
      if (lookahead == '|') ADVANCE(198);
      if (lookahead == '}') ADVANCE(183);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ' ||
          lookahead == 12288) SKIP(5)
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '&' &&
          lookahead != '\'' &&
          (lookahead < '0' || ';' < lookahead) &&
          lookahead != '@' &&
          lookahead != '`') ADVANCE(168);
      END_STATE();
    case 6:
      if (lookahead == '\n') SKIP(6)
      if (lookahead == '"') ADVANCE(13);
      if (lookahead == '#') ADVANCE(169);
      if (lookahead == '\'') ADVANCE(15);
      if (lookahead == '(') ADVANCE(178);
      if (lookahead == ',') ADVANCE(176);
      if (lookahead == '.') ADVANCE(194);
      if (lookahead == '/') ADVANCE(17);
      if (lookahead == ':') ADVANCE(19);
      if (lookahead == '=') ADVANCE(171);
      if (lookahead == '[') ADVANCE(175);
      if (lookahead == '\\') ADVANCE(102);
      if (lookahead == '`') ADVANCE(117);
      if (lookahead == '{') ADVANCE(182);
      if (lookahead == '|') ADVANCE(198);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ' ||
          lookahead == 12288) SKIP(6)
      END_STATE();
    case 7:
      if (lookahead == '\n') SKIP(7)
      if (lookahead == '/') ADVANCE(126);
      if (lookahead == 'n') ADVANCE(132);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ' ||
          lookahead == 12288) SKIP(7)
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          (lookahead < '.' || ';' < lookahead) &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead)) ADVANCE(168);
      END_STATE();
    case 8:
      if (lookahead == '\n') SKIP(8)
      if (lookahead == '(') ADVANCE(178);
      if (lookahead == '/') ADVANCE(126);
      if (lookahead == '=') ADVANCE(130);
      if (lookahead == '|') ADVANCE(198);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ' ||
          lookahead == 12288) SKIP(8)
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          (lookahead < '.' || ';' < lookahead) &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead)) ADVANCE(168);
      END_STATE();
    case 9:
      if (lookahead == '\n') SKIP(9)
      if (lookahead == '/') ADVANCE(127);
      if (lookahead == '}') ADVANCE(183);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ' ||
          lookahead == 12288) SKIP(9)
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          (lookahead < '.' || ';' < lookahead) &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          lookahead != '{' &&
          lookahead != '|') ADVANCE(168);
      END_STATE();
    case 10:
      if (lookahead == '\n') SKIP(10)
      if (lookahead == ',') ADVANCE(176);
      if (lookahead == '/') ADVANCE(17);
      if (lookahead == ':') ADVANCE(196);
      if (lookahead == '}') ADVANCE(183);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ' ||
          lookahead == 12288) SKIP(10)
      END_STATE();
    case 11:
      if (lookahead == '\n') SKIP(11)
      if (lookahead == '/') ADVANCE(126);
      if (lookahead == ':') ADVANCE(196);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ' ||
          lookahead == 12288) SKIP(11)
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          (lookahead < '.' || ';' < lookahead) &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead)) ADVANCE(168);
      END_STATE();
    case 12:
      if (lookahead == '\n') SKIP(12)
      if (lookahead == '/') ADVANCE(126);
      if (lookahead == 'v') ADVANCE(133);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ' ||
          lookahead == 12288) SKIP(12)
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          (lookahead < '.' || ';' < lookahead) &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead)) ADVANCE(168);
      END_STATE();
    case 13:
      if (lookahead == '"') ADVANCE(225);
      if (lookahead == '\\') ADVANCE(14);
      if (lookahead != 0) ADVANCE(13);
      END_STATE();
    case 14:
      if (lookahead == '"') ADVANCE(226);
      if (lookahead == '\\') ADVANCE(14);
      if (lookahead != 0) ADVANCE(13);
      END_STATE();
    case 15:
      if (lookahead == '\'') ADVANCE(225);
      if (lookahead != 0) ADVANCE(15);
      END_STATE();
    case 16:
      if (lookahead == '/') ADVANCE(228);
      END_STATE();
    case 17:
      if (lookahead == '/') ADVANCE(229);
      END_STATE();
    case 18:
      if (lookahead == '0') ADVANCE(214);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(215);
      END_STATE();
    case 19:
      if (lookahead == ':') ADVANCE(123);
      END_STATE();
    case 20:
      if (lookahead == '>') ADVANCE(199);
      END_STATE();
    case 21:
      if (lookahead == '`') ADVANCE(221);
      END_STATE();
    case 22:
      if (lookahead == 'a') ADVANCE(32);
      if (lookahead == 'l') ADVANCE(92);
      if (lookahead == 'n') ADVANCE(96);
      END_STATE();
    case 23:
      if (lookahead == 'a') ADVANCE(65);
      END_STATE();
    case 24:
      if (lookahead == 'a') ADVANCE(65);
      if (lookahead == 'e') ADVANCE(105);
      END_STATE();
    case 25:
      if (lookahead == 'a') ADVANCE(88);
      END_STATE();
    case 26:
      if (lookahead == 'a') ADVANCE(38);
      END_STATE();
    case 27:
      if (lookahead == 'a') ADVANCE(34);
      END_STATE();
    case 28:
      if (lookahead == 'a') ADVANCE(98);
      END_STATE();
    case 29:
      if (lookahead == 'a') ADVANCE(35);
      END_STATE();
    case 30:
      if (lookahead == 'c') ADVANCE(189);
      END_STATE();
    case 31:
      if (lookahead == 'c') ADVANCE(77);
      END_STATE();
    case 32:
      if (lookahead == 'c') ADVANCE(54);
      END_STATE();
    case 33:
      if (lookahead == 'c') ADVANCE(100);
      END_STATE();
    case 34:
      if (lookahead == 'c') ADVANCE(42);
      END_STATE();
    case 35:
      if (lookahead == 'c') ADVANCE(43);
      END_STATE();
    case 36:
      if (lookahead == 'd') ADVANCE(193);
      END_STATE();
    case 37:
      if (lookahead == 'd') ADVANCE(181);
      END_STATE();
    case 38:
      if (lookahead == 'd') ADVANCE(60);
      END_STATE();
    case 39:
      if (lookahead == 'e') ADVANCE(204);
      END_STATE();
    case 40:
      if (lookahead == 'e') ADVANCE(174);
      END_STATE();
    case 41:
      if (lookahead == 'e') ADVANCE(180);
      END_STATE();
    case 42:
      if (lookahead == 'e') ADVANCE(184);
      END_STATE();
    case 43:
      if (lookahead == 'e') ADVANCE(121);
      END_STATE();
    case 44:
      if (lookahead == 'e') ADVANCE(31);
      END_STATE();
    case 45:
      if (lookahead == 'e') ADVANCE(93);
      END_STATE();
    case 46:
      if (lookahead == 'e') ADVANCE(89);
      END_STATE();
    case 47:
      if (lookahead == 'e') ADVANCE(97);
      END_STATE();
    case 48:
      if (lookahead == 'e') ADVANCE(86);
      END_STATE();
    case 49:
      if (lookahead == 'e') ADVANCE(68);
      END_STATE();
    case 50:
      if (lookahead == 'e') ADVANCE(83);
      END_STATE();
    case 51:
      if (lookahead == 'f') ADVANCE(202);
      if (lookahead == 'n') ADVANCE(99);
      END_STATE();
    case 52:
      if (lookahead == 'f') ADVANCE(27);
      END_STATE();
    case 53:
      if (lookahead == 'g') ADVANCE(170);
      END_STATE();
    case 54:
      if (lookahead == 'h') ADVANCE(209);
      END_STATE();
    case 55:
      if (lookahead == 'h') ADVANCE(75);
      END_STATE();
    case 56:
      if (lookahead == 'h') ADVANCE(49);
      END_STATE();
    case 57:
      if (lookahead == 'i') ADVANCE(104);
      END_STATE();
    case 58:
      if (lookahead == 'i') ADVANCE(26);
      END_STATE();
    case 59:
      if (lookahead == 'i') ADVANCE(67);
      END_STATE();
    case 60:
      if (lookahead == 'i') ADVANCE(30);
      END_STATE();
    case 61:
      if (lookahead == 'i') ADVANCE(76);
      END_STATE();
    case 62:
      if (lookahead == 'i') ADVANCE(78);
      END_STATE();
    case 63:
      if (lookahead == 'l') ADVANCE(92);
      if (lookahead == 'n') ADVANCE(96);
      END_STATE();
    case 64:
      if (lookahead == 'm') ADVANCE(186);
      END_STATE();
    case 65:
      if (lookahead == 'm') ADVANCE(46);
      if (lookahead == 't') ADVANCE(57);
      END_STATE();
    case 66:
      if (lookahead == 'n') ADVANCE(61);
      if (lookahead == 's') ADVANCE(59);
      END_STATE();
    case 67:
      if (lookahead == 'n') ADVANCE(53);
      END_STATE();
    case 68:
      if (lookahead == 'n') ADVANCE(207);
      END_STATE();
    case 69:
      if (lookahead == 'n') ADVANCE(185);
      END_STATE();
    case 70:
      if (lookahead == 'n') ADVANCE(187);
      END_STATE();
    case 71:
      if (lookahead == 'n') ADVANCE(91);
      END_STATE();
    case 72:
      if (lookahead == 'n') ADVANCE(33);
      END_STATE();
    case 73:
      if (lookahead == 'n') ADVANCE(95);
      END_STATE();
    case 74:
      if (lookahead == 'o') ADVANCE(71);
      END_STATE();
    case 75:
      if (lookahead == 'o') ADVANCE(36);
      END_STATE();
    case 76:
      if (lookahead == 'o') ADVANCE(69);
      END_STATE();
    case 77:
      if (lookahead == 'o') ADVANCE(87);
      END_STATE();
    case 78:
      if (lookahead == 'o') ADVANCE(70);
      END_STATE();
    case 79:
      if (lookahead == 'o') ADVANCE(84);
      END_STATE();
    case 80:
      if (lookahead == 'p') ADVANCE(48);
      END_STATE();
    case 81:
      if (lookahead == 'p') ADVANCE(40);
      END_STATE();
    case 82:
      if (lookahead == 'p') ADVANCE(29);
      END_STATE();
    case 83:
      if (lookahead == 'r') ADVANCE(52);
      END_STATE();
    case 84:
      if (lookahead == 'r') ADVANCE(188);
      END_STATE();
    case 85:
      if (lookahead == 'r') ADVANCE(107);
      END_STATE();
    case 86:
      if (lookahead == 'r') ADVANCE(28);
      END_STATE();
    case 87:
      if (lookahead == 'r') ADVANCE(37);
      END_STATE();
    case 88:
      if (lookahead == 'r') ADVANCE(58);
      END_STATE();
    case 89:
      if (lookahead == 's') ADVANCE(82);
      END_STATE();
    case 90:
      if (lookahead == 's') ADVANCE(59);
      END_STATE();
    case 91:
      if (lookahead == 's') ADVANCE(94);
      END_STATE();
    case 92:
      if (lookahead == 's') ADVANCE(39);
      END_STATE();
    case 93:
      if (lookahead == 't') ADVANCE(205);
      END_STATE();
    case 94:
      if (lookahead == 't') ADVANCE(191);
      END_STATE();
    case 95:
      if (lookahead == 't') ADVANCE(85);
      END_STATE();
    case 96:
      if (lookahead == 't') ADVANCE(85);
      if (lookahead == 'u') ADVANCE(64);
      END_STATE();
    case 97:
      if (lookahead == 't') ADVANCE(55);
      END_STATE();
    case 98:
      if (lookahead == 't') ADVANCE(79);
      END_STATE();
    case 99:
      if (lookahead == 't') ADVANCE(50);
      END_STATE();
    case 100:
      if (lookahead == 't') ADVANCE(62);
      END_STATE();
    case 101:
      if (lookahead == 'u') ADVANCE(222);
      if (lookahead == 'x') ADVANCE(223);
      if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(221);
      END_STATE();
    case 102:
      if (lookahead == 'u') ADVANCE(222);
      if (('a' <= lookahead && lookahead <= 'z')) ADVANCE(221);
      END_STATE();
    case 103:
      if (lookahead == 'u') ADVANCE(72);
      END_STATE();
    case 104:
      if (lookahead == 'v') ADVANCE(41);
      END_STATE();
    case 105:
      if (lookahead == 'w') ADVANCE(212);
      END_STATE();
    case 106:
      if (lookahead == 'x') ADVANCE(116);
      END_STATE();
    case 107:
      if (lookahead == 'y') ADVANCE(172);
      END_STATE();
    case 108:
      if (lookahead == 'y') ADVANCE(81);
      END_STATE();
    case 109:
      if (lookahead == '+' ||
          lookahead == '-') ADVANCE(113);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(220);
      END_STATE();
    case 110:
      if (lookahead == '0' ||
          lookahead == '1') ADVANCE(216);
      END_STATE();
    case 111:
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(217);
      END_STATE();
    case 112:
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(219);
      END_STATE();
    case 113:
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(220);
      END_STATE();
    case 114:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(218);
      END_STATE();
    case 115:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(224);
      END_STATE();
    case 116:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(115);
      END_STATE();
    case 117:
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(21);
      END_STATE();
    case 118:
      if (eof) ADVANCE(120);
      if (lookahead == '\n') SKIP(118)
      if (lookahead == '"') ADVANCE(13);
      if (lookahead == '#') ADVANCE(169);
      if (lookahead == '&') ADVANCE(201);
      if (lookahead == '\'') ADVANCE(15);
      if (lookahead == '(') ADVANCE(178);
      if (lookahead == ')') ADVANCE(179);
      if (lookahead == ',') ADVANCE(176);
      if (lookahead == '.') ADVANCE(195);
      if (lookahead == '/') ADVANCE(17);
      if (lookahead == ':') ADVANCE(19);
      if (lookahead == '=') ADVANCE(20);
      if (lookahead == '@') ADVANCE(211);
      if (lookahead == '[') ADVANCE(175);
      if (lookahead == '\\') ADVANCE(106);
      if (lookahead == ']') ADVANCE(177);
      if (lookahead == 'c') ADVANCE(74);
      if (lookahead == 'e') ADVANCE(63);
      if (lookahead == 'f') ADVANCE(103);
      if (lookahead == 'i') ADVANCE(51);
      if (lookahead == 'l') ADVANCE(45);
      if (lookahead == 'm') ADVANCE(47);
      if (lookahead == 'n') ADVANCE(23);
      if (lookahead == 'o') ADVANCE(80);
      if (lookahead == 'r') ADVANCE(44);
      if (lookahead == 't') ADVANCE(108);
      if (lookahead == 'u') ADVANCE(66);
      if (lookahead == '{') ADVANCE(182);
      if (lookahead == '|') ADVANCE(198);
      if (lookahead == '}') ADVANCE(183);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ' ||
          lookahead == 12288) SKIP(118)
      END_STATE();
    case 119:
      if (eof) ADVANCE(120);
      if (lookahead == '\n') SKIP(119)
      if (lookahead == '#') ADVANCE(169);
      if (lookahead == '/') ADVANCE(16);
      if (lookahead == ':') ADVANCE(19);
      if (lookahead == '=') ADVANCE(171);
      if (lookahead == 'c') ADVANCE(74);
      if (lookahead == 'e') ADVANCE(73);
      if (lookahead == 'f') ADVANCE(103);
      if (lookahead == 'm') ADVANCE(47);
      if (lookahead == 'o') ADVANCE(80);
      if (lookahead == 't') ADVANCE(108);
      if (lookahead == 'u') ADVANCE(90);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ' ||
          lookahead == 12288) SKIP(119)
      END_STATE();
    case 120:
      ACCEPT_TOKEN(ts_builtin_sym_end);
      END_STATE();
    case 121:
      ACCEPT_TOKEN(anon_sym_namespace);
      END_STATE();
    case 122:
      ACCEPT_TOKEN(anon_sym_namespace);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 123:
      ACCEPT_TOKEN(anon_sym_COLON_COLON);
      END_STATE();
    case 124:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == '.') ADVANCE(112);
      if (lookahead == 'B' ||
          lookahead == 'b') ADVANCE(162);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(161);
      if (lookahead == 'O' ||
          lookahead == 'o') ADVANCE(163);
      if (lookahead == 'X' ||
          lookahead == 'x') ADVANCE(167);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(125);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 125:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == '.') ADVANCE(112);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(161);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(125);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 126:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == '/') ADVANCE(166);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 127:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == '/') ADVANCE(128);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 128:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == '/') ADVANCE(165);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ' ||
          lookahead == '"' ||
          lookahead == '#' ||
          ('&' <= lookahead && lookahead <= ')') ||
          lookahead == ',' ||
          lookahead == '.' ||
          lookahead == ':' ||
          lookahead == ';' ||
          lookahead == '@' ||
          ('[' <= lookahead && lookahead <= ']') ||
          lookahead == '`' ||
          ('{' <= lookahead && lookahead <= '}') ||
          lookahead == 12288) ADVANCE(229);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(166);
      END_STATE();
    case 129:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == '0') ADVANCE(124);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(125);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 130:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == '>') ADVANCE(200);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 131:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 'a') ADVANCE(137);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 132:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 'a') ADVANCE(150);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 133:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 'a') ADVANCE(155);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 134:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 'a') ADVANCE(139);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 135:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 'a') ADVANCE(138);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 136:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 'c') ADVANCE(190);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 137:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 'c') ADVANCE(146);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 138:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 'c') ADVANCE(142);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 139:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 'd') ADVANCE(148);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 140:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 'e') ADVANCE(158);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 141:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 'e') ADVANCE(160);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 142:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 'e') ADVANCE(122);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 143:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 'e') ADVANCE(152);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 144:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 'e') ADVANCE(156);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 145:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 'f') ADVANCE(203);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 146:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 'h') ADVANCE(210);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 147:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 'h') ADVANCE(143);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 148:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 'i') ADVANCE(136);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 149:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 'i') ADVANCE(134);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 150:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 'm') ADVANCE(144);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 151:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 'n') ADVANCE(157);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 152:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 'n') ADVANCE(208);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 153:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 'o') ADVANCE(151);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 154:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 'p') ADVANCE(135);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 155:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 'r') ADVANCE(149);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 156:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 's') ADVANCE(154);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 157:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 's') ADVANCE(159);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 158:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 't') ADVANCE(206);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 159:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 't') ADVANCE(192);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 160:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == 'w') ADVANCE(213);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 161:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == '+' ||
          lookahead == '-') ADVANCE(164);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(164);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          (lookahead < ',' || '.' < lookahead) &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 162:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == '0' ||
          lookahead == '1') ADVANCE(162);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 163:
      ACCEPT_TOKEN(sym_name);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(163);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 164:
      ACCEPT_TOKEN(sym_name);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(164);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 165:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ' ||
          lookahead == '"' ||
          lookahead == '#' ||
          ('&' <= lookahead && lookahead <= ')') ||
          lookahead == ',' ||
          lookahead == '.' ||
          lookahead == ':' ||
          lookahead == ';' ||
          lookahead == '@' ||
          ('[' <= lookahead && lookahead <= ']') ||
          lookahead == '`' ||
          ('{' <= lookahead && lookahead <= '}') ||
          lookahead == 12288) ADVANCE(173);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(165);
      END_STATE();
    case 166:
      ACCEPT_TOKEN(sym_name);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ' ||
          lookahead == '"' ||
          lookahead == '#' ||
          ('&' <= lookahead && lookahead <= ')') ||
          lookahead == ',' ||
          lookahead == '.' ||
          lookahead == ':' ||
          lookahead == ';' ||
          lookahead == '@' ||
          ('[' <= lookahead && lookahead <= ']') ||
          lookahead == '`' ||
          ('{' <= lookahead && lookahead <= '}') ||
          lookahead == 12288) ADVANCE(229);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(166);
      END_STATE();
    case 167:
      ACCEPT_TOKEN(sym_name);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(167);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 168:
      ACCEPT_TOKEN(sym_name);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 169:
      ACCEPT_TOKEN(anon_sym_POUND);
      END_STATE();
    case 170:
      ACCEPT_TOKEN(anon_sym_using);
      END_STATE();
    case 171:
      ACCEPT_TOKEN(anon_sym_EQ);
      END_STATE();
    case 172:
      ACCEPT_TOKEN(anon_sym_entry);
      END_STATE();
    case 173:
      ACCEPT_TOKEN(sym_doc);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(173);
      END_STATE();
    case 174:
      ACCEPT_TOKEN(anon_sym_type);
      END_STATE();
    case 175:
      ACCEPT_TOKEN(anon_sym_LBRACK);
      END_STATE();
    case 176:
      ACCEPT_TOKEN(anon_sym_COMMA);
      END_STATE();
    case 177:
      ACCEPT_TOKEN(anon_sym_RBRACK);
      END_STATE();
    case 178:
      ACCEPT_TOKEN(anon_sym_LPAREN);
      END_STATE();
    case 179:
      ACCEPT_TOKEN(anon_sym_RPAREN);
      END_STATE();
    case 180:
      ACCEPT_TOKEN(anon_sym_native);
      END_STATE();
    case 181:
      ACCEPT_TOKEN(anon_sym_record);
      END_STATE();
    case 182:
      ACCEPT_TOKEN(anon_sym_LBRACE);
      END_STATE();
    case 183:
      ACCEPT_TOKEN(anon_sym_RBRACE);
      END_STATE();
    case 184:
      ACCEPT_TOKEN(anon_sym_interface);
      END_STATE();
    case 185:
      ACCEPT_TOKEN(anon_sym_union);
      END_STATE();
    case 186:
      ACCEPT_TOKEN(anon_sym_enum);
      END_STATE();
    case 187:
      ACCEPT_TOKEN(anon_sym_function);
      END_STATE();
    case 188:
      ACCEPT_TOKEN(anon_sym_operator);
      END_STATE();
    case 189:
      ACCEPT_TOKEN(anon_sym_variadic);
      END_STATE();
    case 190:
      ACCEPT_TOKEN(anon_sym_variadic);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 191:
      ACCEPT_TOKEN(anon_sym_const);
      END_STATE();
    case 192:
      ACCEPT_TOKEN(anon_sym_const);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 193:
      ACCEPT_TOKEN(anon_sym_method);
      END_STATE();
    case 194:
      ACCEPT_TOKEN(anon_sym_DOT);
      END_STATE();
    case 195:
      ACCEPT_TOKEN(anon_sym_DOT);
      if (lookahead == '.') ADVANCE(227);
      END_STATE();
    case 196:
      ACCEPT_TOKEN(anon_sym_COLON);
      END_STATE();
    case 197:
      ACCEPT_TOKEN(anon_sym_COLON);
      if (lookahead == ':') ADVANCE(123);
      END_STATE();
    case 198:
      ACCEPT_TOKEN(anon_sym_PIPE);
      END_STATE();
    case 199:
      ACCEPT_TOKEN(anon_sym_EQ_GT);
      END_STATE();
    case 200:
      ACCEPT_TOKEN(anon_sym_EQ_GT);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 201:
      ACCEPT_TOKEN(anon_sym_AMP);
      END_STATE();
    case 202:
      ACCEPT_TOKEN(anon_sym_if);
      END_STATE();
    case 203:
      ACCEPT_TOKEN(anon_sym_if);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 204:
      ACCEPT_TOKEN(anon_sym_else);
      END_STATE();
    case 205:
      ACCEPT_TOKEN(anon_sym_let);
      END_STATE();
    case 206:
      ACCEPT_TOKEN(anon_sym_let);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 207:
      ACCEPT_TOKEN(anon_sym_when);
      END_STATE();
    case 208:
      ACCEPT_TOKEN(anon_sym_when);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 209:
      ACCEPT_TOKEN(anon_sym_each);
      END_STATE();
    case 210:
      ACCEPT_TOKEN(anon_sym_each);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 211:
      ACCEPT_TOKEN(anon_sym_AT);
      END_STATE();
    case 212:
      ACCEPT_TOKEN(anon_sym_new);
      END_STATE();
    case 213:
      ACCEPT_TOKEN(anon_sym_new);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ' &&
          lookahead != '"' &&
          lookahead != '#' &&
          (lookahead < '&' || ')' < lookahead) &&
          lookahead != ',' &&
          lookahead != '.' &&
          lookahead != ':' &&
          lookahead != ';' &&
          lookahead != '@' &&
          (lookahead < '[' || ']' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '}' < lookahead) &&
          lookahead != 12288) ADVANCE(168);
      END_STATE();
    case 214:
      ACCEPT_TOKEN(sym_int);
      if (lookahead == '.') ADVANCE(112);
      if (lookahead == 'B' ||
          lookahead == 'b') ADVANCE(110);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(109);
      if (lookahead == 'O' ||
          lookahead == 'o') ADVANCE(111);
      if (lookahead == 'X' ||
          lookahead == 'x') ADVANCE(114);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(215);
      END_STATE();
    case 215:
      ACCEPT_TOKEN(sym_int);
      if (lookahead == '.') ADVANCE(112);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(109);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(215);
      END_STATE();
    case 216:
      ACCEPT_TOKEN(sym_int);
      if (lookahead == '0' ||
          lookahead == '1') ADVANCE(216);
      END_STATE();
    case 217:
      ACCEPT_TOKEN(sym_int);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(217);
      END_STATE();
    case 218:
      ACCEPT_TOKEN(sym_int);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(218);
      END_STATE();
    case 219:
      ACCEPT_TOKEN(sym_float);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(109);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(219);
      END_STATE();
    case 220:
      ACCEPT_TOKEN(sym_float);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(220);
      END_STATE();
    case 221:
      ACCEPT_TOKEN(sym_char);
      END_STATE();
    case 222:
      ACCEPT_TOKEN(sym_char);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(222);
      END_STATE();
    case 223:
      ACCEPT_TOKEN(sym_char);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(115);
      END_STATE();
    case 224:
      ACCEPT_TOKEN(sym_byte);
      END_STATE();
    case 225:
      ACCEPT_TOKEN(sym_text);
      END_STATE();
    case 226:
      ACCEPT_TOKEN(sym_text);
      if (lookahead == '"') ADVANCE(225);
      if (lookahead == '\\') ADVANCE(14);
      if (lookahead != 0) ADVANCE(13);
      END_STATE();
    case 227:
      ACCEPT_TOKEN(anon_sym_DOT_DOT);
      END_STATE();
    case 228:
      ACCEPT_TOKEN(sym_tree_sitter_ignore_rule);
      if (lookahead == '/') ADVANCE(173);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(229);
      END_STATE();
    case 229:
      ACCEPT_TOKEN(sym_tree_sitter_ignore_rule);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(229);
      END_STATE();
    default:
      return false;
  }
}

static TSLexMode ts_lex_modes[STATE_COUNT] = {
  [0] = {.lex_state = 0},
  [1] = {.lex_state = 118},
  [2] = {.lex_state = 1},
  [3] = {.lex_state = 1},
  [4] = {.lex_state = 2},
  [5] = {.lex_state = 2},
  [6] = {.lex_state = 2},
  [7] = {.lex_state = 2},
  [8] = {.lex_state = 2},
  [9] = {.lex_state = 2},
  [10] = {.lex_state = 3},
  [11] = {.lex_state = 3},
  [12] = {.lex_state = 4},
  [13] = {.lex_state = 4},
  [14] = {.lex_state = 4},
  [15] = {.lex_state = 4},
  [16] = {.lex_state = 3},
  [17] = {.lex_state = 3},
  [18] = {.lex_state = 3},
  [19] = {.lex_state = 3},
  [20] = {.lex_state = 3},
  [21] = {.lex_state = 3},
  [22] = {.lex_state = 3},
  [23] = {.lex_state = 3},
  [24] = {.lex_state = 3},
  [25] = {.lex_state = 3},
  [26] = {.lex_state = 3},
  [27] = {.lex_state = 3},
  [28] = {.lex_state = 3},
  [29] = {.lex_state = 3},
  [30] = {.lex_state = 3},
  [31] = {.lex_state = 3},
  [32] = {.lex_state = 3},
  [33] = {.lex_state = 3},
  [34] = {.lex_state = 3},
  [35] = {.lex_state = 3},
  [36] = {.lex_state = 3},
  [37] = {.lex_state = 3},
  [38] = {.lex_state = 3},
  [39] = {.lex_state = 3},
  [40] = {.lex_state = 3},
  [41] = {.lex_state = 3},
  [42] = {.lex_state = 3},
  [43] = {.lex_state = 3},
  [44] = {.lex_state = 3},
  [45] = {.lex_state = 3},
  [46] = {.lex_state = 0},
  [47] = {.lex_state = 0},
  [48] = {.lex_state = 2},
  [49] = {.lex_state = 0},
  [50] = {.lex_state = 0},
  [51] = {.lex_state = 0},
  [52] = {.lex_state = 118},
  [53] = {.lex_state = 118},
  [54] = {.lex_state = 118},
  [55] = {.lex_state = 118},
  [56] = {.lex_state = 118},
  [57] = {.lex_state = 2},
  [58] = {.lex_state = 2},
  [59] = {.lex_state = 2},
  [60] = {.lex_state = 2},
  [61] = {.lex_state = 2},
  [62] = {.lex_state = 2},
  [63] = {.lex_state = 5},
  [64] = {.lex_state = 5},
  [65] = {.lex_state = 5},
  [66] = {.lex_state = 5},
  [67] = {.lex_state = 5},
  [68] = {.lex_state = 118},
  [69] = {.lex_state = 118},
  [70] = {.lex_state = 3},
  [71] = {.lex_state = 3},
  [72] = {.lex_state = 3},
  [73] = {.lex_state = 118},
  [74] = {.lex_state = 3},
  [75] = {.lex_state = 118},
  [76] = {.lex_state = 3},
  [77] = {.lex_state = 119},
  [78] = {.lex_state = 3},
  [79] = {.lex_state = 118},
  [80] = {.lex_state = 3},
  [81] = {.lex_state = 3},
  [82] = {.lex_state = 3},
  [83] = {.lex_state = 3},
  [84] = {.lex_state = 118},
  [85] = {.lex_state = 0},
  [86] = {.lex_state = 118},
  [87] = {.lex_state = 118},
  [88] = {.lex_state = 3},
  [89] = {.lex_state = 3},
  [90] = {.lex_state = 118},
  [91] = {.lex_state = 118},
  [92] = {.lex_state = 118},
  [93] = {.lex_state = 118},
  [94] = {.lex_state = 5},
  [95] = {.lex_state = 5},
  [96] = {.lex_state = 119},
  [97] = {.lex_state = 0},
  [98] = {.lex_state = 118},
  [99] = {.lex_state = 0},
  [100] = {.lex_state = 118},
  [101] = {.lex_state = 118},
  [102] = {.lex_state = 0},
  [103] = {.lex_state = 118},
  [104] = {.lex_state = 0},
  [105] = {.lex_state = 0},
  [106] = {.lex_state = 118},
  [107] = {.lex_state = 118},
  [108] = {.lex_state = 5},
  [109] = {.lex_state = 118},
  [110] = {.lex_state = 0},
  [111] = {.lex_state = 118},
  [112] = {.lex_state = 0},
  [113] = {.lex_state = 0},
  [114] = {.lex_state = 118},
  [115] = {.lex_state = 118},
  [116] = {.lex_state = 0},
  [117] = {.lex_state = 5},
  [118] = {.lex_state = 118},
  [119] = {.lex_state = 118},
  [120] = {.lex_state = 118},
  [121] = {.lex_state = 0},
  [122] = {.lex_state = 5},
  [123] = {.lex_state = 0},
  [124] = {.lex_state = 0},
  [125] = {.lex_state = 0},
  [126] = {.lex_state = 0},
  [127] = {.lex_state = 118},
  [128] = {.lex_state = 118},
  [129] = {.lex_state = 0},
  [130] = {.lex_state = 0},
  [131] = {.lex_state = 0},
  [132] = {.lex_state = 0},
  [133] = {.lex_state = 0},
  [134] = {.lex_state = 0},
  [135] = {.lex_state = 0},
  [136] = {.lex_state = 0},
  [137] = {.lex_state = 0},
  [138] = {.lex_state = 0},
  [139] = {.lex_state = 0},
  [140] = {.lex_state = 0},
  [141] = {.lex_state = 0},
  [142] = {.lex_state = 0},
  [143] = {.lex_state = 0},
  [144] = {.lex_state = 5},
  [145] = {.lex_state = 0},
  [146] = {.lex_state = 0},
  [147] = {.lex_state = 0},
  [148] = {.lex_state = 0},
  [149] = {.lex_state = 0},
  [150] = {.lex_state = 0},
  [151] = {.lex_state = 0},
  [152] = {.lex_state = 0},
  [153] = {.lex_state = 0},
  [154] = {.lex_state = 0},
  [155] = {.lex_state = 0},
  [156] = {.lex_state = 0},
  [157] = {.lex_state = 5},
  [158] = {.lex_state = 0},
  [159] = {.lex_state = 0},
  [160] = {.lex_state = 0},
  [161] = {.lex_state = 0},
  [162] = {.lex_state = 0},
  [163] = {.lex_state = 6},
  [164] = {.lex_state = 118},
  [165] = {.lex_state = 118},
  [166] = {.lex_state = 5},
  [167] = {.lex_state = 5},
  [168] = {.lex_state = 118},
  [169] = {.lex_state = 118},
  [170] = {.lex_state = 118},
  [171] = {.lex_state = 118},
  [172] = {.lex_state = 118},
  [173] = {.lex_state = 118},
  [174] = {.lex_state = 7},
  [175] = {.lex_state = 118},
  [176] = {.lex_state = 118},
  [177] = {.lex_state = 118},
  [178] = {.lex_state = 118},
  [179] = {.lex_state = 5},
  [180] = {.lex_state = 118},
  [181] = {.lex_state = 118},
  [182] = {.lex_state = 8},
  [183] = {.lex_state = 118},
  [184] = {.lex_state = 118},
  [185] = {.lex_state = 8},
  [186] = {.lex_state = 118},
  [187] = {.lex_state = 118},
  [188] = {.lex_state = 118},
  [189] = {.lex_state = 118},
  [190] = {.lex_state = 5},
  [191] = {.lex_state = 8},
  [192] = {.lex_state = 118},
  [193] = {.lex_state = 118},
  [194] = {.lex_state = 7},
  [195] = {.lex_state = 118},
  [196] = {.lex_state = 118},
  [197] = {.lex_state = 118},
  [198] = {.lex_state = 118},
  [199] = {.lex_state = 118},
  [200] = {.lex_state = 8},
  [201] = {.lex_state = 118},
  [202] = {.lex_state = 118},
  [203] = {.lex_state = 118},
  [204] = {.lex_state = 7},
  [205] = {.lex_state = 7},
  [206] = {.lex_state = 118},
  [207] = {.lex_state = 5},
  [208] = {.lex_state = 5},
  [209] = {.lex_state = 118},
  [210] = {.lex_state = 5},
  [211] = {.lex_state = 118},
  [212] = {.lex_state = 118},
  [213] = {.lex_state = 118},
  [214] = {.lex_state = 5},
  [215] = {.lex_state = 5},
  [216] = {.lex_state = 5},
  [217] = {.lex_state = 9},
  [218] = {.lex_state = 118},
  [219] = {.lex_state = 5},
  [220] = {.lex_state = 5},
  [221] = {.lex_state = 9},
  [222] = {.lex_state = 5},
  [223] = {.lex_state = 5},
  [224] = {.lex_state = 5},
  [225] = {.lex_state = 5},
  [226] = {.lex_state = 5},
  [227] = {.lex_state = 5},
  [228] = {.lex_state = 5},
  [229] = {.lex_state = 5},
  [230] = {.lex_state = 5},
  [231] = {.lex_state = 5},
  [232] = {.lex_state = 5},
  [233] = {.lex_state = 5},
  [234] = {.lex_state = 5},
  [235] = {.lex_state = 5},
  [236] = {.lex_state = 118},
  [237] = {.lex_state = 5},
  [238] = {.lex_state = 5},
  [239] = {.lex_state = 9},
  [240] = {.lex_state = 5},
  [241] = {.lex_state = 5},
  [242] = {.lex_state = 5},
  [243] = {.lex_state = 5},
  [244] = {.lex_state = 5},
  [245] = {.lex_state = 5},
  [246] = {.lex_state = 5},
  [247] = {.lex_state = 118},
  [248] = {.lex_state = 5},
  [249] = {.lex_state = 5},
  [250] = {.lex_state = 118},
  [251] = {.lex_state = 118},
  [252] = {.lex_state = 5},
  [253] = {.lex_state = 118},
  [254] = {.lex_state = 5},
  [255] = {.lex_state = 5},
  [256] = {.lex_state = 5},
  [257] = {.lex_state = 5},
  [258] = {.lex_state = 5},
  [259] = {.lex_state = 5},
  [260] = {.lex_state = 5},
  [261] = {.lex_state = 5},
  [262] = {.lex_state = 5},
  [263] = {.lex_state = 5},
  [264] = {.lex_state = 118},
  [265] = {.lex_state = 5},
  [266] = {.lex_state = 118},
  [267] = {.lex_state = 118},
  [268] = {.lex_state = 118},
  [269] = {.lex_state = 5},
  [270] = {.lex_state = 5},
  [271] = {.lex_state = 5},
  [272] = {.lex_state = 5},
  [273] = {.lex_state = 5},
  [274] = {.lex_state = 5},
  [275] = {.lex_state = 118},
  [276] = {.lex_state = 118},
  [277] = {.lex_state = 5},
  [278] = {.lex_state = 5},
  [279] = {.lex_state = 118},
  [280] = {.lex_state = 118},
  [281] = {.lex_state = 118},
  [282] = {.lex_state = 118},
  [283] = {.lex_state = 5},
  [284] = {.lex_state = 5},
  [285] = {.lex_state = 5},
  [286] = {.lex_state = 5},
  [287] = {.lex_state = 9},
  [288] = {.lex_state = 5},
  [289] = {.lex_state = 5},
  [290] = {.lex_state = 5},
  [291] = {.lex_state = 118},
  [292] = {.lex_state = 5},
  [293] = {.lex_state = 5},
  [294] = {.lex_state = 118},
  [295] = {.lex_state = 118},
  [296] = {.lex_state = 5},
  [297] = {.lex_state = 9},
  [298] = {.lex_state = 118},
  [299] = {.lex_state = 9},
  [300] = {.lex_state = 118},
  [301] = {.lex_state = 8},
  [302] = {.lex_state = 118},
  [303] = {.lex_state = 5},
  [304] = {.lex_state = 118},
  [305] = {.lex_state = 9},
  [306] = {.lex_state = 5},
  [307] = {.lex_state = 118},
  [308] = {.lex_state = 10},
  [309] = {.lex_state = 118},
  [310] = {.lex_state = 118},
  [311] = {.lex_state = 8},
  [312] = {.lex_state = 118},
  [313] = {.lex_state = 118},
  [314] = {.lex_state = 118},
  [315] = {.lex_state = 5},
  [316] = {.lex_state = 5},
  [317] = {.lex_state = 118},
  [318] = {.lex_state = 5},
  [319] = {.lex_state = 5},
  [320] = {.lex_state = 118},
  [321] = {.lex_state = 5},
  [322] = {.lex_state = 118},
  [323] = {.lex_state = 118},
  [324] = {.lex_state = 118},
  [325] = {.lex_state = 5},
  [326] = {.lex_state = 5},
  [327] = {.lex_state = 5},
  [328] = {.lex_state = 5},
  [329] = {.lex_state = 118},
  [330] = {.lex_state = 118},
  [331] = {.lex_state = 5},
  [332] = {.lex_state = 5},
  [333] = {.lex_state = 118},
  [334] = {.lex_state = 118},
  [335] = {.lex_state = 118},
  [336] = {.lex_state = 118},
  [337] = {.lex_state = 118},
  [338] = {.lex_state = 118},
  [339] = {.lex_state = 5},
  [340] = {.lex_state = 5},
  [341] = {.lex_state = 118},
  [342] = {.lex_state = 118},
  [343] = {.lex_state = 118},
  [344] = {.lex_state = 5},
  [345] = {.lex_state = 118},
  [346] = {.lex_state = 118},
  [347] = {.lex_state = 118},
  [348] = {.lex_state = 5},
  [349] = {.lex_state = 118},
  [350] = {.lex_state = 118},
  [351] = {.lex_state = 5},
  [352] = {.lex_state = 5},
  [353] = {.lex_state = 118},
  [354] = {.lex_state = 118},
  [355] = {.lex_state = 6},
  [356] = {.lex_state = 118},
  [357] = {.lex_state = 118},
  [358] = {.lex_state = 118},
  [359] = {.lex_state = 118},
  [360] = {.lex_state = 118},
  [361] = {.lex_state = 118},
  [362] = {.lex_state = 118},
  [363] = {.lex_state = 118},
  [364] = {.lex_state = 118},
  [365] = {.lex_state = 118},
  [366] = {.lex_state = 118},
  [367] = {.lex_state = 118},
  [368] = {.lex_state = 118},
  [369] = {.lex_state = 118},
  [370] = {.lex_state = 118},
  [371] = {.lex_state = 118},
  [372] = {.lex_state = 118},
  [373] = {.lex_state = 5},
  [374] = {.lex_state = 118},
  [375] = {.lex_state = 118},
  [376] = {.lex_state = 118},
  [377] = {.lex_state = 118},
  [378] = {.lex_state = 118},
  [379] = {.lex_state = 118},
  [380] = {.lex_state = 118},
  [381] = {.lex_state = 118},
  [382] = {.lex_state = 118},
  [383] = {.lex_state = 118},
  [384] = {.lex_state = 118},
  [385] = {.lex_state = 118},
  [386] = {.lex_state = 5},
  [387] = {.lex_state = 118},
  [388] = {.lex_state = 5},
  [389] = {.lex_state = 5},
  [390] = {.lex_state = 118},
  [391] = {.lex_state = 118},
  [392] = {.lex_state = 6},
  [393] = {.lex_state = 118},
  [394] = {.lex_state = 118},
  [395] = {.lex_state = 118},
  [396] = {.lex_state = 118},
  [397] = {.lex_state = 118},
  [398] = {.lex_state = 118},
  [399] = {.lex_state = 118},
  [400] = {.lex_state = 118},
  [401] = {.lex_state = 118},
  [402] = {.lex_state = 118},
  [403] = {.lex_state = 118},
  [404] = {.lex_state = 118},
  [405] = {.lex_state = 118},
  [406] = {.lex_state = 118},
  [407] = {.lex_state = 118},
  [408] = {.lex_state = 118},
  [409] = {.lex_state = 118},
  [410] = {.lex_state = 11},
  [411] = {.lex_state = 118},
  [412] = {.lex_state = 118},
  [413] = {.lex_state = 118},
  [414] = {.lex_state = 118},
  [415] = {.lex_state = 118},
  [416] = {.lex_state = 9},
  [417] = {.lex_state = 9},
  [418] = {.lex_state = 5},
  [419] = {.lex_state = 118},
  [420] = {.lex_state = 118},
  [421] = {.lex_state = 118},
  [422] = {.lex_state = 118},
  [423] = {.lex_state = 118},
  [424] = {.lex_state = 118},
  [425] = {.lex_state = 5},
  [426] = {.lex_state = 118},
  [427] = {.lex_state = 118},
  [428] = {.lex_state = 118},
  [429] = {.lex_state = 118},
  [430] = {.lex_state = 118},
  [431] = {.lex_state = 118},
  [432] = {.lex_state = 12},
  [433] = {.lex_state = 118},
  [434] = {.lex_state = 118},
  [435] = {.lex_state = 118},
  [436] = {.lex_state = 118},
  [437] = {.lex_state = 118},
  [438] = {.lex_state = 5},
  [439] = {.lex_state = 118},
  [440] = {.lex_state = 118},
  [441] = {.lex_state = 5},
  [442] = {.lex_state = 118},
  [443] = {.lex_state = 118},
  [444] = {.lex_state = 118},
  [445] = {.lex_state = 12},
  [446] = {.lex_state = 12},
  [447] = {.lex_state = 5},
  [448] = {.lex_state = 118},
  [449] = {.lex_state = 118},
  [450] = {.lex_state = 5},
  [451] = {.lex_state = 5},
  [452] = {.lex_state = 118},
  [453] = {.lex_state = 118},
  [454] = {.lex_state = 7},
  [455] = {.lex_state = 118},
  [456] = {.lex_state = 5},
  [457] = {.lex_state = 118},
  [458] = {.lex_state = 118},
  [459] = {.lex_state = 118},
  [460] = {.lex_state = 118},
  [461] = {.lex_state = 5},
  [462] = {.lex_state = 118},
  [463] = {.lex_state = 118},
  [464] = {.lex_state = 5},
  [465] = {.lex_state = 118},
  [466] = {.lex_state = 118},
  [467] = {.lex_state = 118},
  [468] = {.lex_state = 118},
  [469] = {.lex_state = 118},
  [470] = {.lex_state = 118},
  [471] = {.lex_state = 118},
  [472] = {.lex_state = 118},
  [473] = {.lex_state = 118},
  [474] = {.lex_state = 6},
  [475] = {.lex_state = 118},
  [476] = {.lex_state = 118},
  [477] = {.lex_state = 118},
  [478] = {.lex_state = 6},
  [479] = {.lex_state = 118},
  [480] = {.lex_state = 118},
  [481] = {.lex_state = 118},
  [482] = {.lex_state = 118},
  [483] = {.lex_state = 118},
  [484] = {.lex_state = 118},
  [485] = {.lex_state = 118},
  [486] = {.lex_state = 118},
  [487] = {.lex_state = 118},
  [488] = {.lex_state = 5},
  [489] = {.lex_state = 5},
  [490] = {.lex_state = 118},
  [491] = {.lex_state = 118},
  [492] = {.lex_state = 118},
  [493] = {.lex_state = 5},
  [494] = {.lex_state = 5},
  [495] = {.lex_state = 5},
  [496] = {.lex_state = 118},
  [497] = {.lex_state = 5},
  [498] = {.lex_state = 5},
  [499] = {.lex_state = 118},
  [500] = {.lex_state = 118},
  [501] = {.lex_state = 118},
  [502] = {.lex_state = 5},
  [503] = {.lex_state = 5},
  [504] = {.lex_state = 118},
  [505] = {.lex_state = 5},
  [506] = {.lex_state = 5},
  [507] = {.lex_state = 5},
  [508] = {.lex_state = 5},
  [509] = {.lex_state = 118},
  [510] = {.lex_state = 5},
  [511] = {.lex_state = 118},
  [512] = {.lex_state = 118},
  [513] = {.lex_state = 118},
  [514] = {.lex_state = 118},
  [515] = {.lex_state = 5},
  [516] = {.lex_state = 5},
  [517] = {.lex_state = 118},
  [518] = {.lex_state = 118},
  [519] = {.lex_state = 118},
  [520] = {.lex_state = 118},
  [521] = {.lex_state = 118},
  [522] = {.lex_state = 6},
  [523] = {.lex_state = 6},
  [524] = {.lex_state = 5},
  [525] = {.lex_state = 6},
  [526] = {.lex_state = 118},
  [527] = {.lex_state = 118},
  [528] = {.lex_state = 5},
  [529] = {.lex_state = 118},
  [530] = {.lex_state = 6},
  [531] = {.lex_state = 118},
  [532] = {.lex_state = 118},
  [533] = {.lex_state = 118},
  [534] = {.lex_state = 5},
  [535] = {.lex_state = 5},
  [536] = {.lex_state = 5},
  [537] = {.lex_state = 5},
  [538] = {.lex_state = 5},
  [539] = {.lex_state = 118},
  [540] = {.lex_state = 5},
  [541] = {.lex_state = 5},
  [542] = {.lex_state = 5},
  [543] = {.lex_state = 118},
  [544] = {.lex_state = 118},
  [545] = {.lex_state = 118},
  [546] = {.lex_state = 118},
  [547] = {.lex_state = 118},
  [548] = {.lex_state = 5},
  [549] = {.lex_state = 5},
  [550] = {.lex_state = 5},
  [551] = {.lex_state = 118},
  [552] = {.lex_state = 118},
  [553] = {.lex_state = 5},
  [554] = {.lex_state = 6},
  [555] = {.lex_state = 118},
  [556] = {.lex_state = 5},
  [557] = {.lex_state = 118},
  [558] = {.lex_state = 118},
  [559] = {.lex_state = 118},
  [560] = {.lex_state = 118},
  [561] = {.lex_state = 118},
  [562] = {.lex_state = 118},
  [563] = {.lex_state = 118},
  [564] = {.lex_state = 6},
  [565] = {.lex_state = 118},
  [566] = {.lex_state = 118},
  [567] = {.lex_state = 118},
  [568] = {.lex_state = 118},
  [569] = {.lex_state = 118},
  [570] = {.lex_state = 118},
  [571] = {.lex_state = 118},
  [572] = {.lex_state = 118},
  [573] = {.lex_state = 5},
  [574] = {.lex_state = 118},
  [575] = {.lex_state = 118},
  [576] = {.lex_state = 118},
  [577] = {.lex_state = 118},
  [578] = {.lex_state = 118},
  [579] = {.lex_state = 118},
};

static uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
  [0] = {
    [ts_builtin_sym_end] = ACTIONS(1),
    [anon_sym_namespace] = ACTIONS(1),
    [anon_sym_COLON_COLON] = ACTIONS(1),
    [anon_sym_POUND] = ACTIONS(1),
    [anon_sym_using] = ACTIONS(1),
    [anon_sym_EQ] = ACTIONS(1),
    [anon_sym_entry] = ACTIONS(1),
    [sym_doc] = ACTIONS(1),
    [anon_sym_type] = ACTIONS(1),
    [anon_sym_LBRACK] = ACTIONS(1),
    [anon_sym_COMMA] = ACTIONS(1),
    [anon_sym_RBRACK] = ACTIONS(1),
    [anon_sym_LPAREN] = ACTIONS(1),
    [anon_sym_RPAREN] = ACTIONS(1),
    [anon_sym_native] = ACTIONS(1),
    [anon_sym_record] = ACTIONS(1),
    [anon_sym_LBRACE] = ACTIONS(1),
    [anon_sym_RBRACE] = ACTIONS(1),
    [anon_sym_interface] = ACTIONS(1),
    [anon_sym_union] = ACTIONS(1),
    [anon_sym_enum] = ACTIONS(1),
    [anon_sym_function] = ACTIONS(1),
    [anon_sym_operator] = ACTIONS(1),
    [anon_sym_variadic] = ACTIONS(1),
    [anon_sym_const] = ACTIONS(1),
    [anon_sym_method] = ACTIONS(1),
    [anon_sym_DOT] = ACTIONS(1),
    [anon_sym_COLON] = ACTIONS(1),
    [anon_sym_PIPE] = ACTIONS(1),
    [anon_sym_AMP] = ACTIONS(1),
    [anon_sym_if] = ACTIONS(1),
    [anon_sym_else] = ACTIONS(1),
    [anon_sym_let] = ACTIONS(1),
    [anon_sym_when] = ACTIONS(1),
    [anon_sym_each] = ACTIONS(1),
    [anon_sym_AT] = ACTIONS(1),
    [anon_sym_new] = ACTIONS(1),
    [sym_int] = ACTIONS(1),
    [sym_float] = ACTIONS(1),
    [sym_char] = ACTIONS(1),
    [sym_byte] = ACTIONS(1),
    [sym_text] = ACTIONS(1),
    [anon_sym_DOT_DOT] = ACTIONS(1),
    [sym_tree_sitter_ignore_rule] = ACTIONS(3),
  },
  [1] = {
    [sym_source_file] = STATE(575),
    [sym_ns] = STATE(47),
    [anon_sym_namespace] = ACTIONS(5),
    [sym_tree_sitter_ignore_rule] = ACTIONS(7),
  },
};

static uint16_t ts_small_parse_table[] = {
  [0] = 30,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(9), 1,
      sym_name,
    ACTIONS(11), 1,
      anon_sym_POUND,
    ACTIONS(13), 1,
      anon_sym_LPAREN,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(19), 1,
      anon_sym_EQ_GT,
    ACTIONS(21), 1,
      anon_sym_AMP,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(29), 1,
      anon_sym_AT,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(372), 1,
      sym_pattern,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(496), 1,
      sym_expr,
    STATE(513), 1,
      sym_lambda_self,
    ACTIONS(17), 2,
      anon_sym_const,
      anon_sym_let,
    STATE(9), 2,
      sym_binding,
      aux_sym_block_repeat1,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    STATE(60), 2,
      sym_binding_plain,
      sym_binding_cps,
    STATE(455), 2,
      sym_pattern_single,
      sym_pattern_multiple,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [106] = 30,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(9), 1,
      sym_name,
    ACTIONS(11), 1,
      anon_sym_POUND,
    ACTIONS(13), 1,
      anon_sym_LPAREN,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(21), 1,
      anon_sym_AMP,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(29), 1,
      anon_sym_AT,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(39), 1,
      anon_sym_EQ_GT,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(347), 1,
      sym_pattern,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(529), 1,
      sym_expr,
    STATE(560), 1,
      sym_lambda_self,
    ACTIONS(17), 2,
      anon_sym_const,
      anon_sym_let,
    STATE(6), 2,
      sym_binding,
      aux_sym_block_repeat1,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    STATE(60), 2,
      sym_binding_plain,
      sym_binding_cps,
    STATE(455), 2,
      sym_pattern_single,
      sym_pattern_multiple,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [212] = 25,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(11), 1,
      anon_sym_POUND,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(29), 1,
      anon_sym_AT,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(570), 1,
      sym_expr,
    ACTIONS(17), 2,
      anon_sym_const,
      anon_sym_let,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    STATE(48), 2,
      sym_binding,
      aux_sym_block_repeat1,
    STATE(60), 2,
      sym_binding_plain,
      sym_binding_cps,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [302] = 25,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(11), 1,
      anon_sym_POUND,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(29), 1,
      anon_sym_AT,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(547), 1,
      sym_expr,
    ACTIONS(17), 2,
      anon_sym_const,
      anon_sym_let,
    STATE(4), 2,
      sym_binding,
      aux_sym_block_repeat1,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    STATE(60), 2,
      sym_binding_plain,
      sym_binding_cps,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [392] = 25,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(11), 1,
      anon_sym_POUND,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(29), 1,
      anon_sym_AT,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(531), 1,
      sym_expr,
    ACTIONS(17), 2,
      anon_sym_const,
      anon_sym_let,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    STATE(48), 2,
      sym_binding,
      aux_sym_block_repeat1,
    STATE(60), 2,
      sym_binding_plain,
      sym_binding_cps,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [482] = 25,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(11), 1,
      anon_sym_POUND,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(29), 1,
      anon_sym_AT,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(529), 1,
      sym_expr,
    ACTIONS(17), 2,
      anon_sym_const,
      anon_sym_let,
    STATE(6), 2,
      sym_binding,
      aux_sym_block_repeat1,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    STATE(60), 2,
      sym_binding_plain,
      sym_binding_cps,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [572] = 25,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(11), 1,
      anon_sym_POUND,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(29), 1,
      anon_sym_AT,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(496), 1,
      sym_expr,
    ACTIONS(17), 2,
      anon_sym_const,
      anon_sym_let,
    STATE(9), 2,
      sym_binding,
      aux_sym_block_repeat1,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    STATE(60), 2,
      sym_binding_plain,
      sym_binding_cps,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [662] = 25,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(11), 1,
      anon_sym_POUND,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(29), 1,
      anon_sym_AT,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(501), 1,
      sym_expr,
    ACTIONS(17), 2,
      anon_sym_const,
      anon_sym_let,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    STATE(48), 2,
      sym_binding,
      aux_sym_block_repeat1,
    STATE(60), 2,
      sym_binding_plain,
      sym_binding_cps,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [752] = 23,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(45), 1,
      sym_name,
    ACTIONS(47), 1,
      anon_sym_LPAREN,
    STATE(33), 1,
      sym_cps_pattern,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(554), 1,
      sym_pattern,
    STATE(558), 1,
      sym_expr,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    STATE(564), 2,
      sym_pattern_single,
      sym_pattern_multiple,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [834] = 23,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(45), 1,
      sym_name,
    ACTIONS(47), 1,
      anon_sym_LPAREN,
    STATE(39), 1,
      sym_cps_pattern,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(487), 1,
      sym_expr,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(554), 1,
      sym_pattern,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    STATE(564), 2,
      sym_pattern_single,
      sym_pattern_multiple,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [916] = 23,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    ACTIONS(49), 1,
      anon_sym_let,
    STATE(30), 1,
      sym_cond_pattern,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(342), 1,
      sym_cond,
    STATE(449), 1,
      sym_expr,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [997] = 23,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    ACTIONS(49), 1,
      anon_sym_let,
    STATE(30), 1,
      sym_cond_pattern,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(394), 1,
      sym_cond,
    STATE(449), 1,
      sym_expr,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [1078] = 23,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    ACTIONS(49), 1,
      anon_sym_let,
    STATE(30), 1,
      sym_cond_pattern,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(421), 1,
      sym_cond,
    STATE(449), 1,
      sym_expr,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [1159] = 23,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    ACTIONS(49), 1,
      anon_sym_let,
    STATE(30), 1,
      sym_cond_pattern,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(335), 1,
      sym_cond,
    STATE(449), 1,
      sym_expr,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [1240] = 22,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(51), 1,
      sym_name,
    ACTIONS(53), 1,
      anon_sym_LBRACK,
    ACTIONS(55), 1,
      anon_sym_LPAREN,
    ACTIONS(57), 1,
      anon_sym_LBRACE,
    ACTIONS(59), 1,
      anon_sym_if,
    ACTIONS(61), 1,
      anon_sym_when,
    ACTIONS(63), 1,
      anon_sym_each,
    ACTIONS(67), 1,
      sym_byte,
    ACTIONS(69), 1,
      sym_text,
    STATE(63), 1,
      sym_term,
    STATE(166), 1,
      sym_ref_base,
    STATE(167), 1,
      aux_sym_bytes_repeat1,
    STATE(220), 1,
      sym_ref,
    STATE(288), 1,
      sym_infix_left,
    STATE(328), 1,
      sym_new,
    STATE(508), 1,
      sym_expr,
    STATE(528), 1,
      sym_ns_prefix,
    STATE(44), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(65), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(219), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [1318] = 22,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(53), 1,
      anon_sym_LBRACK,
    ACTIONS(55), 1,
      anon_sym_LPAREN,
    ACTIONS(57), 1,
      anon_sym_LBRACE,
    ACTIONS(59), 1,
      anon_sym_if,
    ACTIONS(61), 1,
      anon_sym_when,
    ACTIONS(63), 1,
      anon_sym_each,
    ACTIONS(67), 1,
      sym_byte,
    ACTIONS(69), 1,
      sym_text,
    ACTIONS(71), 1,
      sym_name,
    STATE(63), 1,
      sym_term,
    STATE(166), 1,
      sym_ref_base,
    STATE(167), 1,
      aux_sym_bytes_repeat1,
    STATE(220), 1,
      sym_ref,
    STATE(288), 1,
      sym_infix_left,
    STATE(328), 1,
      sym_new,
    STATE(508), 1,
      sym_expr,
    STATE(528), 1,
      sym_ns_prefix,
    STATE(44), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(65), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(219), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [1396] = 22,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(53), 1,
      anon_sym_LBRACK,
    ACTIONS(55), 1,
      anon_sym_LPAREN,
    ACTIONS(57), 1,
      anon_sym_LBRACE,
    ACTIONS(59), 1,
      anon_sym_if,
    ACTIONS(61), 1,
      anon_sym_when,
    ACTIONS(63), 1,
      anon_sym_each,
    ACTIONS(67), 1,
      sym_byte,
    ACTIONS(69), 1,
      sym_text,
    ACTIONS(73), 1,
      sym_name,
    STATE(63), 1,
      sym_term,
    STATE(166), 1,
      sym_ref_base,
    STATE(167), 1,
      aux_sym_bytes_repeat1,
    STATE(220), 1,
      sym_ref,
    STATE(306), 1,
      sym_infix_left,
    STATE(328), 1,
      sym_new,
    STATE(508), 1,
      sym_expr,
    STATE(528), 1,
      sym_ns_prefix,
    STATE(44), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(65), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(219), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [1474] = 22,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(53), 1,
      anon_sym_LBRACK,
    ACTIONS(55), 1,
      anon_sym_LPAREN,
    ACTIONS(57), 1,
      anon_sym_LBRACE,
    ACTIONS(59), 1,
      anon_sym_if,
    ACTIONS(61), 1,
      anon_sym_when,
    ACTIONS(63), 1,
      anon_sym_each,
    ACTIONS(67), 1,
      sym_byte,
    ACTIONS(69), 1,
      sym_text,
    ACTIONS(73), 1,
      sym_name,
    STATE(63), 1,
      sym_term,
    STATE(166), 1,
      sym_ref_base,
    STATE(167), 1,
      aux_sym_bytes_repeat1,
    STATE(220), 1,
      sym_ref,
    STATE(288), 1,
      sym_infix_left,
    STATE(328), 1,
      sym_new,
    STATE(508), 1,
      sym_expr,
    STATE(528), 1,
      sym_ns_prefix,
    STATE(44), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(65), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(219), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [1552] = 21,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    ACTIONS(75), 1,
      anon_sym_RPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(353), 1,
      sym_expr,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [1627] = 21,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    ACTIONS(77), 1,
      anon_sym_RPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(382), 1,
      sym_expr,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [1702] = 21,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(484), 1,
      sym_infix_right,
    STATE(485), 1,
      sym_expr,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [1777] = 21,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(485), 1,
      sym_expr,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(512), 1,
      sym_infix_right,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [1852] = 20,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(509), 1,
      sym_expr,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [1924] = 20,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(442), 1,
      sym_expr,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [1996] = 20,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(571), 1,
      sym_expr,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [2068] = 20,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(514), 1,
      sym_expr,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [2140] = 20,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(520), 1,
      sym_expr,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [2212] = 20,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(477), 1,
      sym_expr,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [2284] = 20,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(466), 1,
      sym_expr,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [2356] = 20,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(568), 1,
      sym_expr,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [2428] = 20,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(463), 1,
      sym_expr,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [2500] = 20,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(487), 1,
      sym_expr,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [2572] = 20,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(479), 1,
      sym_expr,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [2644] = 20,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(504), 1,
      sym_expr,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [2716] = 20,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(423), 1,
      sym_expr,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [2788] = 20,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(457), 1,
      sym_expr,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [2860] = 20,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(429), 1,
      sym_expr,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [2932] = 20,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(517), 1,
      sym_expr,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [3004] = 20,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(481), 1,
      sym_expr,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [3076] = 20,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(430), 1,
      sym_expr,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [3148] = 20,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(472), 1,
      sym_expr,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [3220] = 20,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(532), 1,
      sym_expr,
    STATE(45), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [3292] = 19,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(55), 1,
      anon_sym_LPAREN,
    ACTIONS(57), 1,
      anon_sym_LBRACE,
    ACTIONS(59), 1,
      anon_sym_if,
    ACTIONS(61), 1,
      anon_sym_when,
    ACTIONS(63), 1,
      anon_sym_each,
    ACTIONS(67), 1,
      sym_byte,
    ACTIONS(69), 1,
      sym_text,
    ACTIONS(73), 1,
      sym_name,
    STATE(66), 1,
      sym_term,
    STATE(166), 1,
      sym_ref_base,
    STATE(167), 1,
      aux_sym_bytes_repeat1,
    STATE(220), 1,
      sym_ref,
    STATE(328), 1,
      sym_new,
    STATE(528), 1,
      sym_ns_prefix,
    STATE(71), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(65), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(219), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [3361] = 19,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(15), 1,
      anon_sym_LBRACE,
    ACTIONS(23), 1,
      anon_sym_if,
    ACTIONS(25), 1,
      anon_sym_when,
    ACTIONS(27), 1,
      anon_sym_each,
    ACTIONS(31), 1,
      anon_sym_new,
    ACTIONS(35), 1,
      sym_byte,
    ACTIONS(37), 1,
      sym_text,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(43), 1,
      anon_sym_LPAREN,
    STATE(52), 1,
      sym_term,
    STATE(79), 1,
      sym_ref_base,
    STATE(101), 1,
      aux_sym_bytes_repeat1,
    STATE(176), 1,
      sym_ref,
    STATE(316), 1,
      sym_new,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(71), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(33), 3,
      sym_int,
      sym_float,
      sym_char,
    STATE(178), 9,
      sym_infix_term,
      sym_lambda,
      sym_if,
      sym_when,
      sym_each,
      sym_block,
      sym_ref_term,
      sym_bytes,
      sym_string,
  [3430] = 15,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(79), 1,
      ts_builtin_sym_end,
    ACTIONS(81), 1,
      anon_sym_POUND,
    ACTIONS(83), 1,
      anon_sym_using,
    ACTIONS(85), 1,
      anon_sym_entry,
    ACTIONS(87), 1,
      sym_doc,
    ACTIONS(89), 1,
      anon_sym_type,
    ACTIONS(93), 1,
      anon_sym_const,
    ACTIONS(95), 1,
      anon_sym_method,
    STATE(130), 1,
      aux_sym_docs_repeat1,
    STATE(209), 1,
      sym_docs,
    ACTIONS(91), 2,
      anon_sym_function,
      anon_sym_operator,
    STATE(49), 2,
      sym_stmt,
      aux_sym_source_file_repeat2,
    STATE(85), 2,
      sym_alias,
      aux_sym_source_file_repeat1,
    STATE(124), 5,
      sym_decl_entry,
      sym_decl_type,
      sym_decl_func,
      sym_decl_const,
      sym_decl_method,
  [3483] = 15,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(81), 1,
      anon_sym_POUND,
    ACTIONS(83), 1,
      anon_sym_using,
    ACTIONS(85), 1,
      anon_sym_entry,
    ACTIONS(87), 1,
      sym_doc,
    ACTIONS(89), 1,
      anon_sym_type,
    ACTIONS(93), 1,
      anon_sym_const,
    ACTIONS(95), 1,
      anon_sym_method,
    ACTIONS(97), 1,
      ts_builtin_sym_end,
    STATE(130), 1,
      aux_sym_docs_repeat1,
    STATE(209), 1,
      sym_docs,
    ACTIONS(91), 2,
      anon_sym_function,
      anon_sym_operator,
    STATE(46), 2,
      sym_alias,
      aux_sym_source_file_repeat1,
    STATE(51), 2,
      sym_stmt,
      aux_sym_source_file_repeat2,
    STATE(124), 5,
      sym_decl_entry,
      sym_decl_type,
      sym_decl_func,
      sym_decl_const,
      sym_decl_method,
  [3536] = 8,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(101), 1,
      anon_sym_POUND,
    ACTIONS(109), 1,
      anon_sym_AT,
    ACTIONS(106), 2,
      anon_sym_const,
      anon_sym_let,
    STATE(48), 2,
      sym_binding,
      aux_sym_block_repeat1,
    STATE(60), 2,
      sym_binding_plain,
      sym_binding_cps,
    ACTIONS(104), 4,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      sym_byte,
      sym_text,
    ACTIONS(99), 8,
      sym_name,
      anon_sym_if,
      anon_sym_when,
      anon_sym_each,
      anon_sym_new,
      sym_int,
      sym_float,
      sym_char,
  [3574] = 13,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(85), 1,
      anon_sym_entry,
    ACTIONS(87), 1,
      sym_doc,
    ACTIONS(89), 1,
      anon_sym_type,
    ACTIONS(93), 1,
      anon_sym_const,
    ACTIONS(95), 1,
      anon_sym_method,
    ACTIONS(112), 1,
      ts_builtin_sym_end,
    ACTIONS(114), 1,
      anon_sym_POUND,
    STATE(130), 1,
      aux_sym_docs_repeat1,
    STATE(209), 1,
      sym_docs,
    ACTIONS(91), 2,
      anon_sym_function,
      anon_sym_operator,
    STATE(50), 2,
      sym_stmt,
      aux_sym_source_file_repeat2,
    STATE(124), 5,
      sym_decl_entry,
      sym_decl_type,
      sym_decl_func,
      sym_decl_const,
      sym_decl_method,
  [3620] = 13,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(116), 1,
      ts_builtin_sym_end,
    ACTIONS(118), 1,
      anon_sym_POUND,
    ACTIONS(121), 1,
      anon_sym_entry,
    ACTIONS(124), 1,
      sym_doc,
    ACTIONS(127), 1,
      anon_sym_type,
    ACTIONS(133), 1,
      anon_sym_const,
    ACTIONS(136), 1,
      anon_sym_method,
    STATE(130), 1,
      aux_sym_docs_repeat1,
    STATE(209), 1,
      sym_docs,
    ACTIONS(130), 2,
      anon_sym_function,
      anon_sym_operator,
    STATE(50), 2,
      sym_stmt,
      aux_sym_source_file_repeat2,
    STATE(124), 5,
      sym_decl_entry,
      sym_decl_type,
      sym_decl_func,
      sym_decl_const,
      sym_decl_method,
  [3666] = 13,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(79), 1,
      ts_builtin_sym_end,
    ACTIONS(85), 1,
      anon_sym_entry,
    ACTIONS(87), 1,
      sym_doc,
    ACTIONS(89), 1,
      anon_sym_type,
    ACTIONS(93), 1,
      anon_sym_const,
    ACTIONS(95), 1,
      anon_sym_method,
    ACTIONS(114), 1,
      anon_sym_POUND,
    STATE(130), 1,
      aux_sym_docs_repeat1,
    STATE(209), 1,
      sym_docs,
    ACTIONS(91), 2,
      anon_sym_function,
      anon_sym_operator,
    STATE(50), 2,
      sym_stmt,
      aux_sym_source_file_repeat2,
    STATE(124), 5,
      sym_decl_entry,
      sym_decl_type,
      sym_decl_func,
      sym_decl_const,
      sym_decl_method,
  [3712] = 10,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(139), 1,
      anon_sym_POUND,
    ACTIONS(143), 1,
      anon_sym_LPAREN,
    ACTIONS(145), 1,
      anon_sym_LBRACE,
    ACTIONS(147), 1,
      anon_sym_DOT,
    ACTIONS(149), 1,
      anon_sym_PIPE,
    STATE(56), 2,
      sym_pipe,
      aux_sym_expr_repeat2,
    STATE(187), 2,
      sym_call_ordered,
      sym_call_unordered,
    ACTIONS(141), 3,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACE,
    STATE(188), 5,
      sym_pipe_call,
      sym_pipe_infix,
      sym_pipe_cast,
      sym_pipe_get,
      sym_pipe_interior,
  [3751] = 10,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(139), 1,
      anon_sym_POUND,
    ACTIONS(143), 1,
      anon_sym_LPAREN,
    ACTIONS(145), 1,
      anon_sym_LBRACE,
    ACTIONS(147), 1,
      anon_sym_DOT,
    ACTIONS(149), 1,
      anon_sym_PIPE,
    STATE(54), 2,
      sym_pipe,
      aux_sym_expr_repeat2,
    STATE(187), 2,
      sym_call_ordered,
      sym_call_unordered,
    ACTIONS(141), 3,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACE,
    STATE(188), 5,
      sym_pipe_call,
      sym_pipe_infix,
      sym_pipe_cast,
      sym_pipe_get,
      sym_pipe_interior,
  [3790] = 10,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(151), 1,
      anon_sym_POUND,
    ACTIONS(156), 1,
      anon_sym_LPAREN,
    ACTIONS(159), 1,
      anon_sym_LBRACE,
    ACTIONS(162), 1,
      anon_sym_DOT,
    ACTIONS(165), 1,
      anon_sym_PIPE,
    STATE(54), 2,
      sym_pipe,
      aux_sym_expr_repeat2,
    STATE(187), 2,
      sym_call_ordered,
      sym_call_unordered,
    ACTIONS(154), 3,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACE,
    STATE(188), 5,
      sym_pipe_call,
      sym_pipe_infix,
      sym_pipe_cast,
      sym_pipe_get,
      sym_pipe_interior,
  [3829] = 10,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(139), 1,
      anon_sym_POUND,
    ACTIONS(143), 1,
      anon_sym_LPAREN,
    ACTIONS(145), 1,
      anon_sym_LBRACE,
    ACTIONS(147), 1,
      anon_sym_DOT,
    ACTIONS(149), 1,
      anon_sym_PIPE,
    STATE(53), 2,
      sym_pipe,
      aux_sym_expr_repeat2,
    STATE(187), 2,
      sym_call_ordered,
      sym_call_unordered,
    ACTIONS(168), 3,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACE,
    STATE(188), 5,
      sym_pipe_call,
      sym_pipe_infix,
      sym_pipe_cast,
      sym_pipe_get,
      sym_pipe_interior,
  [3868] = 10,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(139), 1,
      anon_sym_POUND,
    ACTIONS(143), 1,
      anon_sym_LPAREN,
    ACTIONS(145), 1,
      anon_sym_LBRACE,
    ACTIONS(147), 1,
      anon_sym_DOT,
    ACTIONS(149), 1,
      anon_sym_PIPE,
    STATE(54), 2,
      sym_pipe,
      aux_sym_expr_repeat2,
    STATE(187), 2,
      sym_call_ordered,
      sym_call_unordered,
    ACTIONS(170), 3,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACE,
    STATE(188), 5,
      sym_pipe_call,
      sym_pipe_infix,
      sym_pipe_cast,
      sym_pipe_get,
      sym_pipe_interior,
  [3907] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(174), 6,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_AT,
      sym_byte,
      sym_text,
    ACTIONS(172), 10,
      sym_name,
      anon_sym_const,
      anon_sym_if,
      anon_sym_let,
      anon_sym_when,
      anon_sym_each,
      anon_sym_new,
      sym_int,
      sym_float,
      sym_char,
  [3931] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(178), 6,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_AT,
      sym_byte,
      sym_text,
    ACTIONS(176), 10,
      sym_name,
      anon_sym_const,
      anon_sym_if,
      anon_sym_let,
      anon_sym_when,
      anon_sym_each,
      anon_sym_new,
      sym_int,
      sym_float,
      sym_char,
  [3955] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(182), 6,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_AT,
      sym_byte,
      sym_text,
    ACTIONS(180), 10,
      sym_name,
      anon_sym_const,
      anon_sym_if,
      anon_sym_let,
      anon_sym_when,
      anon_sym_each,
      anon_sym_new,
      sym_int,
      sym_float,
      sym_char,
  [3979] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(186), 6,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_AT,
      sym_byte,
      sym_text,
    ACTIONS(184), 10,
      sym_name,
      anon_sym_const,
      anon_sym_if,
      anon_sym_let,
      anon_sym_when,
      anon_sym_each,
      anon_sym_new,
      sym_int,
      sym_float,
      sym_char,
  [4003] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(190), 6,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_AT,
      sym_byte,
      sym_text,
    ACTIONS(188), 10,
      sym_name,
      anon_sym_const,
      anon_sym_if,
      anon_sym_let,
      anon_sym_when,
      anon_sym_each,
      anon_sym_new,
      sym_int,
      sym_float,
      sym_char,
  [4027] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(194), 6,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_AT,
      sym_byte,
      sym_text,
    ACTIONS(192), 10,
      sym_name,
      anon_sym_const,
      anon_sym_if,
      anon_sym_let,
      anon_sym_when,
      anon_sym_each,
      anon_sym_new,
      sym_int,
      sym_float,
      sym_char,
  [4051] = 10,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(196), 1,
      sym_name,
    ACTIONS(198), 1,
      anon_sym_POUND,
    ACTIONS(200), 1,
      anon_sym_LPAREN,
    ACTIONS(202), 1,
      anon_sym_LBRACE,
    ACTIONS(204), 1,
      anon_sym_DOT,
    ACTIONS(206), 1,
      anon_sym_PIPE,
    STATE(67), 2,
      sym_pipe,
      aux_sym_expr_repeat2,
    STATE(223), 2,
      sym_call_ordered,
      sym_call_unordered,
    STATE(222), 5,
      sym_pipe_call,
      sym_pipe_infix,
      sym_pipe_cast,
      sym_pipe_get,
      sym_pipe_interior,
  [4088] = 10,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(208), 1,
      sym_name,
    ACTIONS(210), 1,
      anon_sym_POUND,
    ACTIONS(213), 1,
      anon_sym_LPAREN,
    ACTIONS(216), 1,
      anon_sym_LBRACE,
    ACTIONS(219), 1,
      anon_sym_DOT,
    ACTIONS(222), 1,
      anon_sym_PIPE,
    STATE(64), 2,
      sym_pipe,
      aux_sym_expr_repeat2,
    STATE(223), 2,
      sym_call_ordered,
      sym_call_unordered,
    STATE(222), 5,
      sym_pipe_call,
      sym_pipe_infix,
      sym_pipe_cast,
      sym_pipe_get,
      sym_pipe_interior,
  [4125] = 10,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(198), 1,
      anon_sym_POUND,
    ACTIONS(200), 1,
      anon_sym_LPAREN,
    ACTIONS(202), 1,
      anon_sym_LBRACE,
    ACTIONS(204), 1,
      anon_sym_DOT,
    ACTIONS(206), 1,
      anon_sym_PIPE,
    ACTIONS(225), 1,
      sym_name,
    STATE(64), 2,
      sym_pipe,
      aux_sym_expr_repeat2,
    STATE(223), 2,
      sym_call_ordered,
      sym_call_unordered,
    STATE(222), 5,
      sym_pipe_call,
      sym_pipe_infix,
      sym_pipe_cast,
      sym_pipe_get,
      sym_pipe_interior,
  [4162] = 10,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(198), 1,
      anon_sym_POUND,
    ACTIONS(200), 1,
      anon_sym_LPAREN,
    ACTIONS(202), 1,
      anon_sym_LBRACE,
    ACTIONS(204), 1,
      anon_sym_DOT,
    ACTIONS(206), 1,
      anon_sym_PIPE,
    ACTIONS(227), 1,
      sym_name,
    STATE(65), 2,
      sym_pipe,
      aux_sym_expr_repeat2,
    STATE(223), 2,
      sym_call_ordered,
      sym_call_unordered,
    STATE(222), 5,
      sym_pipe_call,
      sym_pipe_infix,
      sym_pipe_cast,
      sym_pipe_get,
      sym_pipe_interior,
  [4199] = 10,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(198), 1,
      anon_sym_POUND,
    ACTIONS(200), 1,
      anon_sym_LPAREN,
    ACTIONS(202), 1,
      anon_sym_LBRACE,
    ACTIONS(204), 1,
      anon_sym_DOT,
    ACTIONS(206), 1,
      anon_sym_PIPE,
    ACTIONS(227), 1,
      sym_name,
    STATE(64), 2,
      sym_pipe,
      aux_sym_expr_repeat2,
    STATE(223), 2,
      sym_call_ordered,
      sym_call_unordered,
    STATE(222), 5,
      sym_pipe_call,
      sym_pipe_infix,
      sym_pipe_cast,
      sym_pipe_get,
      sym_pipe_interior,
  [4236] = 12,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(229), 1,
      anon_sym_LBRACK,
    ACTIONS(231), 1,
      anon_sym_LPAREN,
    ACTIONS(233), 1,
      anon_sym_native,
    ACTIONS(235), 1,
      anon_sym_record,
    ACTIONS(237), 1,
      anon_sym_interface,
    ACTIONS(239), 1,
      anon_sym_union,
    ACTIONS(241), 1,
      anon_sym_enum,
    STATE(75), 1,
      sym_type_params,
    STATE(106), 1,
      sym_impl,
    STATE(147), 1,
      sym_type_def,
    STATE(150), 4,
      sym_record,
      sym_interface,
      sym_union,
      sym_enum,
  [4276] = 12,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(229), 1,
      anon_sym_LBRACK,
    ACTIONS(231), 1,
      anon_sym_LPAREN,
    ACTIONS(233), 1,
      anon_sym_native,
    ACTIONS(235), 1,
      anon_sym_record,
    ACTIONS(237), 1,
      anon_sym_interface,
    ACTIONS(239), 1,
      anon_sym_union,
    ACTIONS(241), 1,
      anon_sym_enum,
    STATE(87), 1,
      sym_type_params,
    STATE(114), 1,
      sym_impl,
    STATE(159), 1,
      sym_type_def,
    STATE(150), 4,
      sym_record,
      sym_interface,
      sym_union,
      sym_enum,
  [4316] = 4,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(243), 1,
      anon_sym_COLON_COLON,
    ACTIONS(247), 5,
      anon_sym_LBRACK,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      sym_byte,
      sym_text,
    ACTIONS(245), 8,
      sym_name,
      anon_sym_if,
      anon_sym_when,
      anon_sym_each,
      anon_sym_new,
      sym_int,
      sym_float,
      sym_char,
  [4340] = 5,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(251), 1,
      anon_sym_LPAREN,
    STATE(71), 2,
      sym_cast,
      aux_sym_expr_repeat1,
    ACTIONS(254), 3,
      anon_sym_LBRACE,
      sym_byte,
      sym_text,
    ACTIONS(249), 8,
      sym_name,
      anon_sym_if,
      anon_sym_when,
      anon_sym_each,
      anon_sym_new,
      sym_int,
      sym_float,
      sym_char,
  [4366] = 5,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(258), 1,
      anon_sym_LBRACK,
    STATE(83), 1,
      sym_type_args,
    ACTIONS(260), 4,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      sym_byte,
      sym_text,
    ACTIONS(256), 8,
      sym_name,
      anon_sym_if,
      anon_sym_when,
      anon_sym_each,
      anon_sym_new,
      sym_int,
      sym_float,
      sym_char,
  [4392] = 12,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(229), 1,
      anon_sym_LBRACK,
    ACTIONS(231), 1,
      anon_sym_LPAREN,
    ACTIONS(233), 1,
      anon_sym_native,
    ACTIONS(235), 1,
      anon_sym_record,
    ACTIONS(237), 1,
      anon_sym_interface,
    ACTIONS(239), 1,
      anon_sym_union,
    ACTIONS(241), 1,
      anon_sym_enum,
    STATE(86), 1,
      sym_type_params,
    STATE(107), 1,
      sym_impl,
    STATE(149), 1,
      sym_type_def,
    STATE(150), 4,
      sym_record,
      sym_interface,
      sym_union,
      sym_enum,
  [4432] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(264), 5,
      anon_sym_LBRACK,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      sym_byte,
      sym_text,
    ACTIONS(262), 8,
      sym_name,
      anon_sym_if,
      anon_sym_when,
      anon_sym_each,
      anon_sym_new,
      sym_int,
      sym_float,
      sym_char,
  [4453] = 10,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(231), 1,
      anon_sym_LPAREN,
    ACTIONS(233), 1,
      anon_sym_native,
    ACTIONS(235), 1,
      anon_sym_record,
    ACTIONS(237), 1,
      anon_sym_interface,
    ACTIONS(239), 1,
      anon_sym_union,
    ACTIONS(241), 1,
      anon_sym_enum,
    STATE(107), 1,
      sym_impl,
    STATE(149), 1,
      sym_type_def,
    STATE(150), 4,
      sym_record,
      sym_interface,
      sym_union,
      sym_enum,
  [4487] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(268), 4,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      sym_byte,
      sym_text,
    ACTIONS(266), 8,
      sym_name,
      anon_sym_if,
      anon_sym_when,
      anon_sym_each,
      anon_sym_new,
      sym_int,
      sym_float,
      sym_char,
  [4507] = 4,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(243), 1,
      anon_sym_COLON_COLON,
    ACTIONS(270), 1,
      anon_sym_EQ,
    ACTIONS(247), 10,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_using,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [4529] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(274), 4,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      sym_byte,
      sym_text,
    ACTIONS(272), 8,
      sym_name,
      anon_sym_if,
      anon_sym_when,
      anon_sym_each,
      anon_sym_new,
      sym_int,
      sym_float,
      sym_char,
  [4549] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(276), 1,
      anon_sym_LBRACK,
    STATE(120), 1,
      sym_type_args,
    ACTIONS(260), 10,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_RBRACK,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_native,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [4571] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(280), 4,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      sym_byte,
      sym_text,
    ACTIONS(278), 8,
      sym_name,
      anon_sym_if,
      anon_sym_when,
      anon_sym_each,
      anon_sym_new,
      sym_int,
      sym_float,
      sym_char,
  [4591] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(284), 4,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      sym_byte,
      sym_text,
    ACTIONS(282), 8,
      sym_name,
      anon_sym_if,
      anon_sym_when,
      anon_sym_each,
      anon_sym_new,
      sym_int,
      sym_float,
      sym_char,
  [4611] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(288), 4,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      sym_byte,
      sym_text,
    ACTIONS(286), 8,
      sym_name,
      anon_sym_if,
      anon_sym_when,
      anon_sym_each,
      anon_sym_new,
      sym_int,
      sym_float,
      sym_char,
  [4631] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(292), 4,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      sym_byte,
      sym_text,
    ACTIONS(290), 8,
      sym_name,
      anon_sym_if,
      anon_sym_when,
      anon_sym_each,
      anon_sym_new,
      sym_int,
      sym_float,
      sym_char,
  [4651] = 3,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(243), 1,
      anon_sym_COLON_COLON,
    ACTIONS(247), 11,
      anon_sym_POUND,
      anon_sym_LBRACK,
      anon_sym_COMMA,
      anon_sym_RBRACK,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_native,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [4671] = 5,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(296), 1,
      anon_sym_POUND,
    ACTIONS(299), 1,
      anon_sym_using,
    STATE(85), 2,
      sym_alias,
      aux_sym_source_file_repeat1,
    ACTIONS(294), 8,
      ts_builtin_sym_end,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [4695] = 10,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(231), 1,
      anon_sym_LPAREN,
    ACTIONS(233), 1,
      anon_sym_native,
    ACTIONS(235), 1,
      anon_sym_record,
    ACTIONS(237), 1,
      anon_sym_interface,
    ACTIONS(239), 1,
      anon_sym_union,
    ACTIONS(241), 1,
      anon_sym_enum,
    STATE(119), 1,
      sym_impl,
    STATE(135), 1,
      sym_type_def,
    STATE(150), 4,
      sym_record,
      sym_interface,
      sym_union,
      sym_enum,
  [4729] = 10,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(231), 1,
      anon_sym_LPAREN,
    ACTIONS(233), 1,
      anon_sym_native,
    ACTIONS(235), 1,
      anon_sym_record,
    ACTIONS(237), 1,
      anon_sym_interface,
    ACTIONS(239), 1,
      anon_sym_union,
    ACTIONS(241), 1,
      anon_sym_enum,
    STATE(106), 1,
      sym_impl,
    STATE(147), 1,
      sym_type_def,
    STATE(150), 4,
      sym_record,
      sym_interface,
      sym_union,
      sym_enum,
  [4763] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(304), 4,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      sym_byte,
      sym_text,
    ACTIONS(302), 8,
      sym_name,
      anon_sym_if,
      anon_sym_when,
      anon_sym_each,
      anon_sym_new,
      sym_int,
      sym_float,
      sym_char,
  [4783] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(308), 4,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      sym_byte,
      sym_text,
    ACTIONS(306), 8,
      sym_name,
      anon_sym_if,
      anon_sym_when,
      anon_sym_each,
      anon_sym_new,
      sym_int,
      sym_float,
      sym_char,
  [4803] = 5,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(312), 1,
      anon_sym_DOT,
    ACTIONS(314), 1,
      anon_sym_DOT_DOT,
    STATE(91), 2,
      sym_string_part,
      aux_sym_string_repeat1,
    ACTIONS(310), 7,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PIPE,
  [4826] = 5,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(314), 1,
      anon_sym_DOT_DOT,
    ACTIONS(318), 1,
      anon_sym_DOT,
    STATE(92), 2,
      sym_string_part,
      aux_sym_string_repeat1,
    ACTIONS(316), 7,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PIPE,
  [4849] = 5,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(322), 1,
      anon_sym_DOT,
    ACTIONS(324), 1,
      anon_sym_DOT_DOT,
    STATE(92), 2,
      sym_string_part,
      aux_sym_string_repeat1,
    ACTIONS(320), 7,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PIPE,
  [4872] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(264), 11,
      anon_sym_POUND,
      anon_sym_LBRACK,
      anon_sym_COMMA,
      anon_sym_RBRACK,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_native,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [4889] = 7,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(243), 1,
      anon_sym_COLON_COLON,
    ACTIONS(245), 1,
      sym_name,
    ACTIONS(327), 1,
      anon_sym_COMMA,
    ACTIONS(329), 1,
      anon_sym_RPAREN,
    STATE(377), 1,
      aux_sym_type_params_repeat1,
    ACTIONS(247), 6,
      anon_sym_POUND,
      anon_sym_LBRACK,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [4916] = 7,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(243), 1,
      anon_sym_COLON_COLON,
    ACTIONS(245), 1,
      sym_name,
    ACTIONS(327), 1,
      anon_sym_COMMA,
    ACTIONS(331), 1,
      anon_sym_RPAREN,
    STATE(400), 1,
      aux_sym_type_params_repeat1,
    ACTIONS(247), 6,
      anon_sym_POUND,
      anon_sym_LBRACK,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [4943] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(243), 1,
      anon_sym_COLON_COLON,
    ACTIONS(247), 10,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_using,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [4962] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(333), 10,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_using,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [4978] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(274), 10,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_RBRACK,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_native,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [4994] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(264), 10,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_using,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5010] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(335), 10,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_if,
      anon_sym_else,
  [5026] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(339), 1,
      sym_byte,
    STATE(115), 1,
      aux_sym_bytes_repeat1,
    ACTIONS(337), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [5046] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(341), 10,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_using,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5062] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(343), 10,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_if,
      anon_sym_else,
  [5078] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(345), 10,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_using,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5094] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(347), 10,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_using,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5110] = 8,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(233), 1,
      anon_sym_native,
    ACTIONS(235), 1,
      anon_sym_record,
    ACTIONS(237), 1,
      anon_sym_interface,
    ACTIONS(239), 1,
      anon_sym_union,
    ACTIONS(241), 1,
      anon_sym_enum,
    STATE(149), 1,
      sym_type_def,
    STATE(150), 4,
      sym_record,
      sym_interface,
      sym_union,
      sym_enum,
  [5138] = 8,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(233), 1,
      anon_sym_native,
    ACTIONS(235), 1,
      anon_sym_record,
    ACTIONS(237), 1,
      anon_sym_interface,
    ACTIONS(239), 1,
      anon_sym_union,
    ACTIONS(241), 1,
      anon_sym_enum,
    STATE(135), 1,
      sym_type_def,
    STATE(150), 4,
      sym_record,
      sym_interface,
      sym_union,
      sym_enum,
  [5166] = 11,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(349), 1,
      anon_sym_LBRACE,
    STATE(79), 1,
      sym_ref_base,
    STATE(211), 1,
      sym_ref,
    STATE(249), 1,
      sym_implicit,
    STATE(425), 1,
      sym_record_def,
    STATE(443), 1,
      sym_type,
    STATE(469), 1,
      sym_output,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(573), 1,
      sym_inputs,
  [5200] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(284), 10,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_RBRACK,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_native,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [5216] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(351), 10,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_using,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5232] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(243), 1,
      anon_sym_COLON_COLON,
    ACTIONS(353), 2,
      anon_sym_EQ_GT,
      anon_sym_AMP,
    ACTIONS(247), 7,
      anon_sym_POUND,
      anon_sym_LBRACK,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [5252] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(355), 10,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_using,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5268] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(357), 10,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_using,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5284] = 8,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(233), 1,
      anon_sym_native,
    ACTIONS(235), 1,
      anon_sym_record,
    ACTIONS(237), 1,
      anon_sym_interface,
    ACTIONS(239), 1,
      anon_sym_union,
    ACTIONS(241), 1,
      anon_sym_enum,
    STATE(147), 1,
      sym_type_def,
    STATE(150), 4,
      sym_record,
      sym_interface,
      sym_union,
      sym_enum,
  [5312] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(361), 1,
      sym_byte,
    STATE(115), 1,
      aux_sym_bytes_repeat1,
    ACTIONS(359), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [5332] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(364), 10,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_using,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5348] = 11,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(349), 1,
      anon_sym_LBRACE,
    STATE(79), 1,
      sym_ref_base,
    STATE(211), 1,
      sym_ref,
    STATE(215), 1,
      sym_implicit,
    STATE(425), 1,
      sym_record_def,
    STATE(436), 1,
      sym_output,
    STATE(443), 1,
      sym_type,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(573), 1,
      sym_inputs,
  [5382] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(268), 10,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_RBRACK,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_native,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [5398] = 8,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(233), 1,
      anon_sym_native,
    ACTIONS(235), 1,
      anon_sym_record,
    ACTIONS(237), 1,
      anon_sym_interface,
    ACTIONS(239), 1,
      anon_sym_union,
    ACTIONS(241), 1,
      anon_sym_enum,
    STATE(126), 1,
      sym_type_def,
    STATE(150), 4,
      sym_record,
      sym_interface,
      sym_union,
      sym_enum,
  [5426] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(292), 10,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_RBRACK,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_native,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [5442] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(366), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5457] = 5,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(368), 1,
      anon_sym_DOT_DOT,
    ACTIONS(318), 2,
      sym_name,
      anon_sym_DOT,
    STATE(144), 2,
      sym_string_part,
      aux_sym_string_repeat1,
    ACTIONS(316), 4,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_PIPE,
  [5478] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(343), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5493] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(370), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5508] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(372), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5523] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(374), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5538] = 3,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(378), 1,
      anon_sym_DOT,
    ACTIONS(376), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PIPE,
      anon_sym_DOT_DOT,
  [5555] = 3,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(382), 1,
      anon_sym_DOT,
    ACTIONS(380), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_PIPE,
      anon_sym_DOT_DOT,
  [5572] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(384), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5587] = 4,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(388), 1,
      sym_doc,
    STATE(140), 1,
      aux_sym_docs_repeat1,
    ACTIONS(386), 7,
      anon_sym_POUND,
      anon_sym_entry,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5606] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(390), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5621] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(392), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5636] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(394), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5651] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(396), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5666] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(398), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5681] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(400), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5696] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(335), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5711] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(402), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5726] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(404), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5741] = 4,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(408), 1,
      sym_doc,
    STATE(140), 1,
      aux_sym_docs_repeat1,
    ACTIONS(406), 7,
      anon_sym_POUND,
      anon_sym_entry,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5760] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(411), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5775] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(413), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5790] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(415), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5805] = 5,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(417), 1,
      anon_sym_DOT_DOT,
    ACTIONS(322), 2,
      sym_name,
      anon_sym_DOT,
    STATE(144), 2,
      sym_string_part,
      aux_sym_string_repeat1,
    ACTIONS(320), 4,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_PIPE,
  [5826] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(420), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5841] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(422), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5856] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(424), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5871] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(426), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5886] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(428), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5901] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(430), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5916] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(432), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5931] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(434), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5946] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(436), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5961] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(438), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5976] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(440), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [5991] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(442), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [6006] = 5,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(368), 1,
      anon_sym_DOT_DOT,
    ACTIONS(312), 2,
      sym_name,
      anon_sym_DOT,
    STATE(122), 2,
      sym_string_part,
      aux_sym_string_repeat1,
    ACTIONS(310), 4,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_PIPE,
  [6027] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(444), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [6042] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(446), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [6057] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(448), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [6072] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(450), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [6087] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(452), 9,
      ts_builtin_sym_end,
      anon_sym_POUND,
      anon_sym_entry,
      sym_doc,
      anon_sym_type,
      anon_sym_function,
      anon_sym_operator,
      anon_sym_const,
      anon_sym_method,
  [6102] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(243), 1,
      anon_sym_COLON_COLON,
    ACTIONS(353), 1,
      anon_sym_EQ,
    ACTIONS(247), 7,
      anon_sym_POUND,
      anon_sym_LBRACK,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6121] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(454), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6135] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(304), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6149] = 5,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(256), 1,
      sym_name,
    ACTIONS(456), 1,
      anon_sym_LBRACK,
    STATE(214), 1,
      sym_type_args,
    ACTIONS(260), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6169] = 5,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(458), 1,
      sym_name,
    ACTIONS(460), 1,
      sym_byte,
    STATE(179), 1,
      aux_sym_bytes_repeat1,
    ACTIONS(337), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6189] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(462), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6203] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(464), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6217] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(466), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6231] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(468), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6245] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(470), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6259] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(472), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6273] = 8,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(474), 1,
      anon_sym_namespace,
    ACTIONS(476), 1,
      sym_name,
    STATE(110), 1,
      sym_ref_base,
    STATE(113), 1,
      sym_alias_target,
    STATE(204), 1,
      sym_alias_name,
    STATE(503), 1,
      sym_ns_prefix,
    STATE(112), 2,
      sym_alias_to_ns,
      sym_alias_to_ref_base,
  [6299] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(478), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6313] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(480), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6327] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(482), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6341] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(484), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6355] = 5,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(486), 1,
      sym_name,
    ACTIONS(488), 1,
      sym_byte,
    STATE(179), 1,
      aux_sym_bytes_repeat1,
    ACTIONS(359), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6375] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(491), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6389] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(493), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6403] = 8,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(495), 1,
      sym_name,
    ACTIONS(497), 1,
      anon_sym_LPAREN,
    ACTIONS(499), 1,
      anon_sym_PIPE,
    ACTIONS(501), 1,
      anon_sym_EQ_GT,
    STATE(301), 1,
      aux_sym_case_repeat1,
    STATE(551), 1,
      sym_pattern,
    STATE(455), 2,
      sym_pattern_single,
      sym_pattern_multiple,
  [6429] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(503), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6443] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(505), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6457] = 8,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(495), 1,
      sym_name,
    ACTIONS(497), 1,
      anon_sym_LPAREN,
    ACTIONS(499), 1,
      anon_sym_PIPE,
    ACTIONS(507), 1,
      anon_sym_EQ_GT,
    STATE(182), 1,
      aux_sym_case_repeat1,
    STATE(483), 1,
      sym_pattern,
    STATE(455), 2,
      sym_pattern_single,
      sym_pattern_multiple,
  [6483] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(509), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6497] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(511), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6511] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(513), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6525] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(515), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6539] = 4,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(243), 1,
      anon_sym_COLON_COLON,
    ACTIONS(245), 1,
      sym_name,
    ACTIONS(247), 6,
      anon_sym_POUND,
      anon_sym_LBRACK,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6557] = 8,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(495), 1,
      sym_name,
    ACTIONS(497), 1,
      anon_sym_LPAREN,
    ACTIONS(499), 1,
      anon_sym_PIPE,
    ACTIONS(507), 1,
      anon_sym_EQ_GT,
    STATE(301), 1,
      aux_sym_case_repeat1,
    STATE(483), 1,
      sym_pattern,
    STATE(455), 2,
      sym_pattern_single,
      sym_pattern_multiple,
  [6583] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(517), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6597] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(519), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6611] = 8,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(474), 1,
      anon_sym_namespace,
    ACTIONS(476), 1,
      sym_name,
    STATE(104), 1,
      sym_alias_target,
    STATE(110), 1,
      sym_ref_base,
    STATE(205), 1,
      sym_alias_name,
    STATE(503), 1,
      sym_ns_prefix,
    STATE(112), 2,
      sym_alias_to_ns,
      sym_alias_to_ref_base,
  [6637] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(521), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6651] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(523), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6665] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(525), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6679] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(527), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6693] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(529), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6707] = 8,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(495), 1,
      sym_name,
    ACTIONS(497), 1,
      anon_sym_LPAREN,
    ACTIONS(499), 1,
      anon_sym_PIPE,
    ACTIONS(531), 1,
      anon_sym_EQ_GT,
    STATE(191), 1,
      aux_sym_case_repeat1,
    STATE(500), 1,
      sym_pattern,
    STATE(455), 2,
      sym_pattern_single,
      sym_pattern_multiple,
  [6733] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(533), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6747] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(535), 8,
      anon_sym_POUND,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6761] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(537), 7,
      anon_sym_LPAREN,
      anon_sym_native,
      anon_sym_record,
      anon_sym_LBRACE,
      anon_sym_interface,
      anon_sym_union,
      anon_sym_enum,
  [6774] = 7,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(474), 1,
      anon_sym_namespace,
    ACTIONS(539), 1,
      sym_name,
    STATE(104), 1,
      sym_alias_target,
    STATE(110), 1,
      sym_ref_base,
    STATE(503), 1,
      sym_ns_prefix,
    STATE(112), 2,
      sym_alias_to_ns,
      sym_alias_to_ref_base,
  [6797] = 7,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(474), 1,
      anon_sym_namespace,
    ACTIONS(539), 1,
      sym_name,
    STATE(97), 1,
      sym_alias_target,
    STATE(110), 1,
      sym_ref_base,
    STATE(503), 1,
      sym_ns_prefix,
    STATE(112), 2,
      sym_alias_to_ns,
      sym_alias_to_ref_base,
  [6820] = 7,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(541), 1,
      anon_sym_using,
    ACTIONS(543), 1,
      anon_sym_entry,
    ACTIONS(545), 1,
      anon_sym_type,
    ACTIONS(549), 1,
      anon_sym_const,
    ACTIONS(551), 1,
      anon_sym_method,
    ACTIONS(547), 2,
      anon_sym_function,
      anon_sym_operator,
  [6843] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(262), 1,
      sym_name,
    ACTIONS(264), 6,
      anon_sym_POUND,
      anon_sym_LBRACK,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6858] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(378), 2,
      sym_name,
      anon_sym_DOT,
    ACTIONS(376), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_PIPE,
      anon_sym_DOT_DOT,
  [6873] = 7,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(543), 1,
      anon_sym_entry,
    ACTIONS(545), 1,
      anon_sym_type,
    ACTIONS(549), 1,
      anon_sym_const,
    ACTIONS(551), 1,
      anon_sym_method,
    ACTIONS(553), 1,
      anon_sym_POUND,
    ACTIONS(547), 2,
      anon_sym_function,
      anon_sym_operator,
  [6896] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(382), 2,
      sym_name,
      anon_sym_DOT,
    ACTIONS(380), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_PIPE,
      anon_sym_DOT_DOT,
  [6911] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(555), 7,
      anon_sym_COMMA,
      anon_sym_RBRACK,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_native,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
  [6924] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(557), 7,
      anon_sym_LPAREN,
      anon_sym_native,
      anon_sym_record,
      anon_sym_LBRACE,
      anon_sym_interface,
      anon_sym_union,
      anon_sym_enum,
  [6937] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(559), 7,
      anon_sym_LPAREN,
      anon_sym_native,
      anon_sym_record,
      anon_sym_LBRACE,
      anon_sym_interface,
      anon_sym_union,
      anon_sym_enum,
  [6950] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(290), 1,
      sym_name,
    ACTIONS(292), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [6964] = 7,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    STATE(79), 1,
      sym_ref_base,
    STATE(211), 1,
      sym_ref,
    STATE(443), 1,
      sym_type,
    STATE(469), 1,
      sym_output,
    STATE(495), 1,
      sym_ns_prefix,
  [6986] = 7,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(561), 1,
      anon_sym_RBRACK,
    STATE(79), 1,
      sym_ref_base,
    STATE(211), 1,
      sym_ref,
    STATE(350), 1,
      sym_type,
    STATE(495), 1,
      sym_ns_prefix,
  [7008] = 7,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(563), 1,
      sym_name,
    ACTIONS(565), 1,
      sym_doc,
    ACTIONS(567), 1,
      anon_sym_RBRACE,
    STATE(390), 1,
      sym_method,
    STATE(417), 1,
      aux_sym_docs_repeat1,
    STATE(498), 1,
      sym_docs,
  [7030] = 7,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(229), 1,
      anon_sym_LBRACK,
    ACTIONS(349), 1,
      anon_sym_LBRACE,
    STATE(117), 1,
      sym_inputs,
    STATE(281), 1,
      sym_sig,
    STATE(414), 1,
      sym_type_params,
    STATE(425), 1,
      sym_record_def,
  [7052] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(569), 1,
      sym_name,
    ACTIONS(484), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7066] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(571), 1,
      sym_name,
    ACTIONS(480), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7080] = 7,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(565), 1,
      sym_doc,
    ACTIONS(573), 1,
      sym_name,
    ACTIONS(575), 1,
      anon_sym_RBRACE,
    STATE(387), 1,
      sym_field,
    STATE(417), 1,
      aux_sym_docs_repeat1,
    STATE(502), 1,
      sym_docs,
  [7102] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(577), 1,
      sym_name,
    ACTIONS(513), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7116] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(579), 1,
      sym_name,
    ACTIONS(511), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7130] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(581), 1,
      sym_name,
    ACTIONS(503), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7144] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(266), 1,
      sym_name,
    ACTIONS(268), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7158] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(583), 1,
      sym_name,
    ACTIONS(466), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7172] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(585), 1,
      sym_name,
    ACTIONS(525), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7186] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(587), 1,
      sym_name,
    ACTIONS(529), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7200] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(589), 1,
      sym_name,
    ACTIONS(535), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7214] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(591), 1,
      sym_name,
    ACTIONS(517), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7228] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(282), 1,
      sym_name,
    ACTIONS(284), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7242] = 7,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(593), 1,
      anon_sym_RBRACK,
    STATE(79), 1,
      sym_ref_base,
    STATE(211), 1,
      sym_ref,
    STATE(359), 1,
      sym_type,
    STATE(495), 1,
      sym_ns_prefix,
  [7264] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(595), 1,
      sym_name,
    ACTIONS(482), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7278] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(597), 1,
      sym_name,
    ACTIONS(472), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7292] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(599), 1,
      sym_name,
    ACTIONS(468), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7306] = 7,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(229), 1,
      anon_sym_LBRACK,
    ACTIONS(349), 1,
      anon_sym_LBRACE,
    STATE(117), 1,
      sym_inputs,
    STATE(304), 1,
      sym_sig,
    STATE(414), 1,
      sym_type_params,
    STATE(425), 1,
      sym_record_def,
  [7328] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(601), 1,
      sym_name,
    ACTIONS(515), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7342] = 7,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(603), 1,
      anon_sym_RBRACK,
    STATE(79), 1,
      sym_ref_base,
    STATE(211), 1,
      sym_ref,
    STATE(383), 1,
      sym_type,
    STATE(495), 1,
      sym_ns_prefix,
  [7364] = 7,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(565), 1,
      sym_doc,
    ACTIONS(573), 1,
      sym_name,
    ACTIONS(605), 1,
      anon_sym_RBRACE,
    STATE(385), 1,
      sym_field,
    STATE(417), 1,
      aux_sym_docs_repeat1,
    STATE(502), 1,
      sym_docs,
  [7386] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(607), 1,
      sym_name,
    ACTIONS(464), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7400] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(272), 1,
      sym_name,
    ACTIONS(274), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7414] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(302), 1,
      sym_name,
    ACTIONS(304), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7428] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(609), 1,
      sym_name,
    ACTIONS(343), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7442] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(611), 1,
      sym_name,
    ACTIONS(523), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7456] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(613), 1,
      sym_name,
    ACTIONS(527), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7470] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(615), 1,
      sym_name,
    ACTIONS(533), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7484] = 6,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(617), 1,
      anon_sym_entry,
    ACTIONS(619), 1,
      anon_sym_type,
    ACTIONS(623), 1,
      anon_sym_const,
    ACTIONS(625), 1,
      anon_sym_method,
    ACTIONS(621), 2,
      anon_sym_function,
      anon_sym_operator,
  [7504] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(627), 1,
      sym_name,
    ACTIONS(335), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7518] = 7,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    STATE(79), 1,
      sym_ref_base,
    STATE(211), 1,
      sym_ref,
    STATE(443), 1,
      sym_type,
    STATE(465), 1,
      sym_output,
    STATE(495), 1,
      sym_ns_prefix,
  [7540] = 6,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(543), 1,
      anon_sym_entry,
    ACTIONS(545), 1,
      anon_sym_type,
    ACTIONS(549), 1,
      anon_sym_const,
    ACTIONS(551), 1,
      anon_sym_method,
    ACTIONS(547), 2,
      anon_sym_function,
      anon_sym_operator,
  [7560] = 7,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(229), 1,
      anon_sym_LBRACK,
    ACTIONS(349), 1,
      anon_sym_LBRACE,
    STATE(117), 1,
      sym_inputs,
    STATE(300), 1,
      sym_sig,
    STATE(414), 1,
      sym_type_params,
    STATE(425), 1,
      sym_record_def,
  [7582] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(629), 1,
      sym_name,
    ACTIONS(521), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7596] = 7,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(229), 1,
      anon_sym_LBRACK,
    ACTIONS(349), 1,
      anon_sym_LBRACE,
    STATE(117), 1,
      sym_inputs,
    STATE(291), 1,
      sym_sig,
    STATE(414), 1,
      sym_type_params,
    STATE(425), 1,
      sym_record_def,
  [7618] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(631), 1,
      sym_name,
    ACTIONS(509), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7632] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(633), 1,
      sym_name,
    ACTIONS(470), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7646] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(635), 1,
      sym_name,
    ACTIONS(462), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7660] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(637), 1,
      sym_name,
    ACTIONS(478), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7674] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(639), 1,
      sym_name,
    ACTIONS(505), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7688] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(641), 1,
      sym_name,
    ACTIONS(491), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7702] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(643), 1,
      sym_name,
    ACTIONS(493), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7716] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(645), 1,
      sym_name,
    ACTIONS(454), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7730] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(647), 1,
      sym_name,
    ACTIONS(519), 5,
      anon_sym_POUND,
      anon_sym_LPAREN,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_PIPE,
  [7744] = 5,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(649), 1,
      sym_name,
    ACTIONS(651), 1,
      anon_sym_LPAREN,
    STATE(522), 1,
      sym_pattern,
    STATE(564), 2,
      sym_pattern_single,
      sym_pattern_multiple,
  [7761] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(653), 5,
      anon_sym_native,
      anon_sym_record,
      anon_sym_interface,
      anon_sym_union,
      anon_sym_enum,
  [7772] = 6,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    STATE(79), 1,
      sym_ref_base,
    STATE(211), 1,
      sym_ref,
    STATE(294), 1,
      sym_type,
    STATE(495), 1,
      sym_ns_prefix,
  [7791] = 5,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(655), 1,
      anon_sym_native,
    ACTIONS(657), 1,
      anon_sym_LBRACE,
    STATE(160), 1,
      sym_body,
    STATE(161), 2,
      sym_native_body,
      sym_block,
  [7808] = 5,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(655), 1,
      anon_sym_native,
    ACTIONS(657), 1,
      anon_sym_LBRACE,
    STATE(162), 1,
      sym_body,
    STATE(161), 2,
      sym_native_body,
      sym_block,
  [7825] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(659), 5,
      anon_sym_native,
      anon_sym_record,
      anon_sym_interface,
      anon_sym_union,
      anon_sym_enum,
  [7836] = 6,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    STATE(79), 1,
      sym_ref_base,
    STATE(211), 1,
      sym_ref,
    STATE(310), 1,
      sym_type,
    STATE(495), 1,
      sym_ns_prefix,
  [7855] = 5,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(649), 1,
      sym_name,
    ACTIONS(651), 1,
      anon_sym_LPAREN,
    STATE(478), 1,
      sym_pattern,
    STATE(564), 2,
      sym_pattern_single,
      sym_pattern_multiple,
  [7872] = 6,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    STATE(79), 1,
      sym_ref_base,
    STATE(211), 1,
      sym_ref,
    STATE(302), 1,
      sym_type,
    STATE(495), 1,
      sym_ns_prefix,
  [7891] = 6,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    STATE(79), 1,
      sym_ref_base,
    STATE(211), 1,
      sym_ref,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(559), 1,
      sym_type,
  [7910] = 6,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    STATE(79), 1,
      sym_ref_base,
    STATE(211), 1,
      sym_ref,
    STATE(437), 1,
      sym_type,
    STATE(495), 1,
      sym_ns_prefix,
  [7929] = 6,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    STATE(79), 1,
      sym_ref_base,
    STATE(211), 1,
      sym_ref,
    STATE(433), 1,
      sym_type,
    STATE(495), 1,
      sym_ns_prefix,
  [7948] = 5,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(200), 1,
      anon_sym_LPAREN,
    ACTIONS(202), 1,
      anon_sym_LBRACE,
    STATE(235), 1,
      sym_pipe_call,
    STATE(223), 2,
      sym_call_ordered,
      sym_call_unordered,
  [7965] = 5,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(200), 1,
      anon_sym_LPAREN,
    ACTIONS(202), 1,
      anon_sym_LBRACE,
    STATE(244), 1,
      sym_pipe_call,
    STATE(223), 2,
      sym_call_ordered,
      sym_call_unordered,
  [7982] = 6,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    STATE(79), 1,
      sym_ref_base,
    STATE(211), 1,
      sym_ref,
    STATE(341), 1,
      sym_type,
    STATE(495), 1,
      sym_ns_prefix,
  [8001] = 6,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    STATE(79), 1,
      sym_ref_base,
    STATE(211), 1,
      sym_ref,
    STATE(298), 1,
      sym_type,
    STATE(495), 1,
      sym_ns_prefix,
  [8020] = 5,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(655), 1,
      anon_sym_native,
    ACTIONS(657), 1,
      anon_sym_LBRACE,
    STATE(136), 1,
      sym_body,
    STATE(161), 2,
      sym_native_body,
      sym_block,
  [8037] = 5,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(143), 1,
      anon_sym_LPAREN,
    ACTIONS(145), 1,
      anon_sym_LBRACE,
    STATE(196), 1,
      sym_pipe_call,
    STATE(187), 2,
      sym_call_ordered,
      sym_call_unordered,
  [8054] = 5,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(655), 1,
      anon_sym_native,
    ACTIONS(657), 1,
      anon_sym_LBRACE,
    STATE(134), 1,
      sym_body,
    STATE(161), 2,
      sym_native_body,
      sym_block,
  [8071] = 5,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(143), 1,
      anon_sym_LPAREN,
    ACTIONS(145), 1,
      anon_sym_LBRACE,
    STATE(171), 1,
      sym_pipe_call,
    STATE(187), 2,
      sym_call_ordered,
      sym_call_unordered,
  [8088] = 5,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(649), 1,
      sym_name,
    ACTIONS(651), 1,
      anon_sym_LPAREN,
    STATE(525), 1,
      sym_pattern,
    STATE(564), 2,
      sym_pattern_single,
      sym_pattern_multiple,
  [8105] = 6,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    STATE(79), 1,
      sym_ref_base,
    STATE(211), 1,
      sym_ref,
    STATE(266), 1,
      sym_type,
    STATE(495), 1,
      sym_ns_prefix,
  [8124] = 6,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    STATE(79), 1,
      sym_ref_base,
    STATE(211), 1,
      sym_ref,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(572), 1,
      sym_type,
  [8143] = 6,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    STATE(79), 1,
      sym_ref_base,
    STATE(211), 1,
      sym_ref,
    STATE(397), 1,
      sym_type,
    STATE(495), 1,
      sym_ns_prefix,
  [8162] = 6,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(565), 1,
      sym_doc,
    ACTIONS(661), 1,
      sym_name,
    STATE(398), 1,
      sym_enum_item,
    STATE(417), 1,
      aux_sym_docs_repeat1,
    STATE(493), 1,
      sym_docs,
  [8181] = 6,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(663), 1,
      sym_name,
    STATE(22), 1,
      sym_operator,
    STATE(72), 1,
      sym_ref_base,
    STATE(82), 1,
      sym_ref,
    STATE(535), 1,
      sym_ns_prefix,
  [8200] = 6,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    STATE(79), 1,
      sym_ref_base,
    STATE(211), 1,
      sym_ref,
    STATE(279), 1,
      sym_type,
    STATE(495), 1,
      sym_ns_prefix,
  [8219] = 6,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    STATE(79), 1,
      sym_ref_base,
    STATE(211), 1,
      sym_ref,
    STATE(267), 1,
      sym_type,
    STATE(495), 1,
      sym_ns_prefix,
  [8238] = 5,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(655), 1,
      anon_sym_native,
    ACTIONS(657), 1,
      anon_sym_LBRACE,
    STATE(125), 1,
      sym_body,
    STATE(161), 2,
      sym_native_body,
      sym_block,
  [8255] = 6,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    STATE(79), 1,
      sym_ref_base,
    STATE(211), 1,
      sym_ref,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(518), 1,
      sym_type,
  [8274] = 6,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    STATE(79), 1,
      sym_ref_base,
    STATE(211), 1,
      sym_ref,
    STATE(329), 1,
      sym_type,
    STATE(495), 1,
      sym_ns_prefix,
  [8293] = 5,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(655), 1,
      anon_sym_native,
    ACTIONS(657), 1,
      anon_sym_LBRACE,
    STATE(145), 1,
      sym_body,
    STATE(161), 2,
      sym_native_body,
      sym_block,
  [8310] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(665), 5,
      anon_sym_native,
      anon_sym_record,
      anon_sym_interface,
      anon_sym_union,
      anon_sym_enum,
  [8321] = 6,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    STATE(79), 1,
      sym_ref_base,
    STATE(211), 1,
      sym_ref,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(557), 1,
      sym_type,
  [8340] = 6,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(565), 1,
      sym_doc,
    ACTIONS(573), 1,
      sym_name,
    STATE(417), 1,
      aux_sym_docs_repeat1,
    STATE(470), 1,
      sym_field,
    STATE(502), 1,
      sym_docs,
  [8359] = 5,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(655), 1,
      anon_sym_native,
    ACTIONS(657), 1,
      anon_sym_LBRACE,
    STATE(121), 1,
      sym_body,
    STATE(161), 2,
      sym_native_body,
      sym_block,
  [8376] = 6,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(563), 1,
      sym_name,
    ACTIONS(565), 1,
      sym_doc,
    STATE(417), 1,
      aux_sym_docs_repeat1,
    STATE(435), 1,
      sym_method,
    STATE(498), 1,
      sym_docs,
  [8395] = 5,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(655), 1,
      anon_sym_native,
    ACTIONS(657), 1,
      anon_sym_LBRACE,
    STATE(148), 1,
      sym_body,
    STATE(161), 2,
      sym_native_body,
      sym_block,
  [8412] = 5,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(669), 1,
      anon_sym_LPAREN,
    ACTIONS(671), 1,
      anon_sym_PIPE,
    STATE(301), 1,
      aux_sym_case_repeat1,
    ACTIONS(667), 2,
      sym_name,
      anon_sym_EQ_GT,
  [8429] = 5,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(655), 1,
      anon_sym_native,
    ACTIONS(657), 1,
      anon_sym_LBRACE,
    STATE(152), 1,
      sym_body,
    STATE(161), 2,
      sym_native_body,
      sym_block,
  [8446] = 6,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    STATE(79), 1,
      sym_ref_base,
    STATE(211), 1,
      sym_ref,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(543), 1,
      sym_type,
  [8465] = 5,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(655), 1,
      anon_sym_native,
    ACTIONS(657), 1,
      anon_sym_LBRACE,
    STATE(158), 1,
      sym_body,
    STATE(161), 2,
      sym_native_body,
      sym_block,
  [8482] = 6,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(565), 1,
      sym_doc,
    ACTIONS(661), 1,
      sym_name,
    STATE(417), 1,
      aux_sym_docs_repeat1,
    STATE(439), 1,
      sym_enum_item,
    STATE(493), 1,
      sym_docs,
  [8501] = 6,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(663), 1,
      sym_name,
    STATE(23), 1,
      sym_operator,
    STATE(72), 1,
      sym_ref_base,
    STATE(82), 1,
      sym_ref,
    STATE(535), 1,
      sym_ns_prefix,
  [8520] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(674), 1,
      anon_sym_if,
    ACTIONS(676), 1,
      anon_sym_else,
    STATE(312), 2,
      sym_elif,
      aux_sym_if_repeat2,
  [8534] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(680), 1,
      anon_sym_COLON,
    STATE(452), 1,
      sym_arg_mapping_to,
    ACTIONS(678), 2,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [8548] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(674), 1,
      anon_sym_if,
    ACTIONS(682), 1,
      anon_sym_else,
    STATE(324), 2,
      sym_elif,
      aux_sym_if_repeat2,
  [8562] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(686), 1,
      anon_sym_LPAREN,
    STATE(453), 1,
      sym_field_default,
    ACTIONS(684), 2,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [8576] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(667), 2,
      sym_name,
      anon_sym_EQ_GT,
    ACTIONS(669), 2,
      anon_sym_LPAREN,
      anon_sym_PIPE,
  [8588] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(674), 1,
      anon_sym_if,
    ACTIONS(688), 1,
      anon_sym_else,
    STATE(313), 2,
      sym_elif,
      aux_sym_if_repeat2,
  [8602] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(690), 1,
      anon_sym_if,
    ACTIONS(693), 1,
      anon_sym_else,
    STATE(313), 2,
      sym_elif,
      aux_sym_if_repeat2,
  [8616] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(695), 1,
      anon_sym_COMMA,
    STATE(314), 1,
      aux_sym_type_params_repeat1,
    ACTIONS(698), 2,
      anon_sym_RBRACK,
      anon_sym_RPAREN,
  [8630] = 5,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(663), 1,
      sym_name,
    STATE(11), 1,
      sym_ref,
    STATE(72), 1,
      sym_ref_base,
    STATE(535), 1,
      sym_ns_prefix,
  [8646] = 5,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    STATE(79), 1,
      sym_ref_base,
    STATE(183), 1,
      sym_ref,
    STATE(495), 1,
      sym_ns_prefix,
  [8662] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(674), 1,
      anon_sym_if,
    ACTIONS(700), 1,
      anon_sym_else,
    STATE(313), 2,
      sym_elif,
      aux_sym_if_repeat2,
  [8676] = 5,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    STATE(79), 1,
      sym_ref_base,
    STATE(280), 1,
      sym_ref,
    STATE(495), 1,
      sym_ns_prefix,
  [8692] = 5,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(702), 1,
      anon_sym_RPAREN,
    STATE(364), 1,
      sym_ref_base,
    STATE(495), 1,
      sym_ns_prefix,
  [8708] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(674), 1,
      anon_sym_if,
    ACTIONS(704), 1,
      anon_sym_else,
    STATE(313), 2,
      sym_elif,
      aux_sym_if_repeat2,
  [8722] = 5,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(663), 1,
      sym_name,
    STATE(10), 1,
      sym_ref,
    STATE(72), 1,
      sym_ref_base,
    STATE(535), 1,
      sym_ns_prefix,
  [8738] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(674), 1,
      anon_sym_if,
    ACTIONS(706), 1,
      anon_sym_else,
    STATE(317), 2,
      sym_elif,
      aux_sym_if_repeat2,
  [8752] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(708), 1,
      anon_sym_COMMA,
    STATE(323), 1,
      aux_sym_union_repeat1,
    ACTIONS(711), 2,
      anon_sym_RBRACK,
      anon_sym_RBRACE,
  [8766] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(674), 1,
      anon_sym_if,
    ACTIONS(706), 1,
      anon_sym_else,
    STATE(313), 2,
      sym_elif,
      aux_sym_if_repeat2,
  [8780] = 5,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    STATE(79), 1,
      sym_ref_base,
    STATE(276), 1,
      sym_ref,
    STATE(495), 1,
      sym_ns_prefix,
  [8796] = 5,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(713), 1,
      anon_sym_LBRACK,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(539), 1,
      sym_ref_base,
  [8812] = 5,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    STATE(79), 1,
      sym_ref_base,
    STATE(275), 1,
      sym_ref,
    STATE(495), 1,
      sym_ns_prefix,
  [8828] = 5,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(73), 1,
      sym_name,
    STATE(166), 1,
      sym_ref_base,
    STATE(224), 1,
      sym_ref,
    STATE(528), 1,
      sym_ns_prefix,
  [8844] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(686), 1,
      anon_sym_LPAREN,
    STATE(468), 1,
      sym_field_default,
    ACTIONS(715), 2,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [8858] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(674), 1,
      anon_sym_if,
    ACTIONS(688), 1,
      anon_sym_else,
    STATE(320), 2,
      sym_elif,
      aux_sym_if_repeat2,
  [8872] = 5,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    STATE(79), 1,
      sym_ref_base,
    STATE(282), 1,
      sym_ref,
    STATE(495), 1,
      sym_ns_prefix,
  [8888] = 5,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    ACTIONS(717), 1,
      anon_sym_LBRACK,
    STATE(495), 1,
      sym_ns_prefix,
    STATE(519), 1,
      sym_ref_base,
  [8904] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(719), 1,
      anon_sym_LBRACE,
    STATE(168), 1,
      sym_block,
    STATE(175), 1,
      sym_if_no,
  [8917] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(721), 1,
      anon_sym_COMMA,
    ACTIONS(723), 1,
      anon_sym_RPAREN,
    STATE(345), 1,
      aux_sym_call_ordered_repeat1,
  [8930] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(725), 1,
      anon_sym_COMMA,
    ACTIONS(727), 1,
      anon_sym_RPAREN,
    STATE(402), 1,
      aux_sym_if_repeat1,
  [8943] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(725), 1,
      anon_sym_COMMA,
    ACTIONS(729), 1,
      anon_sym_RPAREN,
    STATE(338), 1,
      aux_sym_if_repeat1,
  [8956] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(719), 1,
      anon_sym_LBRACE,
    STATE(322), 1,
      sym_if_yes,
    STATE(422), 1,
      sym_block,
  [8969] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(731), 1,
      anon_sym_COMMA,
    ACTIONS(734), 1,
      anon_sym_RPAREN,
    STATE(338), 1,
      aux_sym_if_repeat1,
  [8982] = 4,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(736), 1,
      sym_name,
    ACTIONS(738), 1,
      anon_sym_POUND,
    STATE(374), 1,
      sym_case,
  [8995] = 4,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(736), 1,
      sym_name,
    ACTIONS(738), 1,
      anon_sym_POUND,
    STATE(375), 1,
      sym_case,
  [9008] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(711), 3,
      anon_sym_COMMA,
      anon_sym_RBRACK,
      anon_sym_RBRACE,
  [9017] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(725), 1,
      anon_sym_COMMA,
    ACTIONS(740), 1,
      anon_sym_RPAREN,
    STATE(336), 1,
      aux_sym_if_repeat1,
  [9030] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(719), 1,
      anon_sym_LBRACE,
    STATE(330), 1,
      sym_if_yes,
    STATE(422), 1,
      sym_block,
  [9043] = 4,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(742), 1,
      sym_name,
    ACTIONS(744), 1,
      anon_sym_LPAREN,
    STATE(202), 1,
      sym_cast,
  [9056] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(746), 1,
      anon_sym_COMMA,
    ACTIONS(749), 1,
      anon_sym_RPAREN,
    STATE(345), 1,
      aux_sym_call_ordered_repeat1,
  [9069] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(719), 1,
      anon_sym_LBRACE,
    STATE(307), 1,
      sym_if_yes,
    STATE(422), 1,
      sym_block,
  [9082] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(21), 1,
      anon_sym_AMP,
    ACTIONS(751), 1,
      anon_sym_EQ_GT,
    STATE(563), 1,
      sym_lambda_self,
  [9095] = 4,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(753), 1,
      sym_name,
    ACTIONS(755), 1,
      anon_sym_RBRACE,
    STATE(356), 1,
      sym_arg_mapping,
  [9108] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(757), 1,
      anon_sym_COMMA,
    ACTIONS(760), 1,
      anon_sym_RBRACE,
    STATE(349), 1,
      aux_sym_call_unordered_repeat1,
  [9121] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(762), 1,
      anon_sym_COMMA,
    ACTIONS(764), 1,
      anon_sym_RBRACK,
    STATE(403), 1,
      aux_sym_union_repeat1,
  [9134] = 4,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(736), 1,
      sym_name,
    ACTIONS(738), 1,
      anon_sym_POUND,
    STATE(366), 1,
      sym_case,
  [9147] = 4,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(736), 1,
      sym_name,
    ACTIONS(738), 1,
      anon_sym_POUND,
    STATE(367), 1,
      sym_case,
  [9160] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(721), 1,
      anon_sym_COMMA,
    ACTIONS(766), 1,
      anon_sym_RPAREN,
    STATE(404), 1,
      aux_sym_call_ordered_repeat1,
  [9173] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(768), 1,
      anon_sym_COMMA,
    ACTIONS(771), 1,
      anon_sym_RBRACE,
    STATE(354), 1,
      aux_sym_interface_repeat1,
  [9186] = 3,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    STATE(127), 1,
      sym_string_part_content,
    ACTIONS(773), 2,
      sym_char,
      sym_text,
  [9197] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(775), 1,
      anon_sym_COMMA,
    ACTIONS(777), 1,
      anon_sym_RBRACE,
    STATE(407), 1,
      aux_sym_call_unordered_repeat1,
  [9210] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(762), 1,
      anon_sym_COMMA,
    ACTIONS(779), 1,
      anon_sym_RBRACK,
    STATE(323), 1,
      aux_sym_union_repeat1,
  [9223] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(781), 1,
      anon_sym_COMMA,
    ACTIONS(784), 1,
      anon_sym_RBRACE,
    STATE(358), 1,
      aux_sym_enum_repeat1,
  [9236] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(762), 1,
      anon_sym_COMMA,
    ACTIONS(786), 1,
      anon_sym_RBRACK,
    STATE(357), 1,
      aux_sym_union_repeat1,
  [9249] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(327), 1,
      anon_sym_COMMA,
    ACTIONS(788), 1,
      anon_sym_RBRACK,
    STATE(314), 1,
      aux_sym_type_params_repeat1,
  [9262] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(790), 1,
      anon_sym_LBRACE,
    STATE(256), 1,
      sym_block,
    STATE(257), 1,
      sym_if_no,
  [9275] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(792), 1,
      anon_sym_COMMA,
    ACTIONS(794), 1,
      anon_sym_RBRACE,
    STATE(405), 1,
      aux_sym_when_repeat1,
  [9288] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(792), 1,
      anon_sym_COMMA,
    ACTIONS(796), 1,
      anon_sym_RBRACE,
    STATE(405), 1,
      aux_sym_when_repeat1,
  [9301] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(798), 1,
      anon_sym_COMMA,
    ACTIONS(800), 1,
      anon_sym_RPAREN,
    STATE(379), 1,
      aux_sym_impl_repeat1,
  [9314] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(790), 1,
      anon_sym_LBRACE,
    STATE(256), 1,
      sym_block,
    STATE(261), 1,
      sym_if_no,
  [9327] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(792), 1,
      anon_sym_COMMA,
    ACTIONS(802), 1,
      anon_sym_RBRACE,
    STATE(362), 1,
      aux_sym_when_repeat1,
  [9340] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(792), 1,
      anon_sym_COMMA,
    ACTIONS(804), 1,
      anon_sym_RBRACE,
    STATE(363), 1,
      aux_sym_when_repeat1,
  [9353] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(790), 1,
      anon_sym_LBRACE,
    STATE(255), 1,
      sym_if_no,
    STATE(256), 1,
      sym_block,
  [9366] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(719), 1,
      anon_sym_LBRACE,
    STATE(168), 1,
      sym_block,
    STATE(172), 1,
      sym_if_no,
  [9379] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(775), 1,
      anon_sym_COMMA,
    ACTIONS(806), 1,
      anon_sym_RBRACE,
    STATE(349), 1,
      aux_sym_call_unordered_repeat1,
  [9392] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(327), 1,
      anon_sym_COMMA,
    ACTIONS(808), 1,
      anon_sym_RBRACK,
    STATE(360), 1,
      aux_sym_type_params_repeat1,
  [9405] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(21), 1,
      anon_sym_AMP,
    ACTIONS(810), 1,
      anon_sym_EQ_GT,
    STATE(482), 1,
      sym_lambda_self,
  [9418] = 4,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(41), 1,
      sym_name,
    STATE(440), 1,
      sym_ref_base,
    STATE(495), 1,
      sym_ns_prefix,
  [9431] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(792), 1,
      anon_sym_COMMA,
    ACTIONS(812), 1,
      anon_sym_RBRACE,
    STATE(391), 1,
      aux_sym_when_repeat1,
  [9444] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(792), 1,
      anon_sym_COMMA,
    ACTIONS(814), 1,
      anon_sym_RBRACE,
    STATE(393), 1,
      aux_sym_when_repeat1,
  [9457] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(762), 1,
      anon_sym_COMMA,
    ACTIONS(816), 1,
      anon_sym_RBRACK,
    STATE(323), 1,
      aux_sym_union_repeat1,
  [9470] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(327), 1,
      anon_sym_COMMA,
    ACTIONS(818), 1,
      anon_sym_RPAREN,
    STATE(314), 1,
      aux_sym_type_params_repeat1,
  [9483] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(820), 1,
      anon_sym_COMMA,
    ACTIONS(822), 1,
      anon_sym_RBRACE,
    STATE(395), 1,
      aux_sym_record_def_repeat1,
  [9496] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(798), 1,
      anon_sym_COMMA,
    ACTIONS(824), 1,
      anon_sym_RPAREN,
    STATE(411), 1,
      aux_sym_impl_repeat1,
  [9509] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(775), 1,
      anon_sym_COMMA,
    ACTIONS(826), 1,
      anon_sym_RBRACE,
    STATE(370), 1,
      aux_sym_call_unordered_repeat1,
  [9522] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(719), 1,
      anon_sym_LBRACE,
    STATE(164), 1,
      sym_if_no,
    STATE(168), 1,
      sym_block,
  [9535] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(721), 1,
      anon_sym_COMMA,
    ACTIONS(828), 1,
      anon_sym_RPAREN,
    STATE(334), 1,
      aux_sym_call_ordered_repeat1,
  [9548] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(762), 1,
      anon_sym_COMMA,
    ACTIONS(830), 1,
      anon_sym_RBRACK,
    STATE(376), 1,
      aux_sym_union_repeat1,
  [9561] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(327), 1,
      anon_sym_COMMA,
    ACTIONS(331), 1,
      anon_sym_RPAREN,
    STATE(400), 1,
      aux_sym_type_params_repeat1,
  [9574] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(820), 1,
      anon_sym_COMMA,
    ACTIONS(832), 1,
      anon_sym_RBRACE,
    STATE(378), 1,
      aux_sym_record_def_repeat1,
  [9587] = 4,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(834), 1,
      sym_name,
    ACTIONS(836), 1,
      anon_sym_LPAREN,
    STATE(229), 1,
      sym_cast,
  [9600] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(820), 1,
      anon_sym_COMMA,
    ACTIONS(838), 1,
      anon_sym_RBRACE,
    STATE(399), 1,
      aux_sym_record_def_repeat1,
  [9613] = 4,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(753), 1,
      sym_name,
    ACTIONS(840), 1,
      anon_sym_RBRACE,
    STATE(380), 1,
      sym_arg_mapping,
  [9626] = 4,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(736), 1,
      sym_name,
    ACTIONS(738), 1,
      anon_sym_POUND,
    STATE(458), 1,
      sym_case,
  [9639] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(842), 1,
      anon_sym_COMMA,
    ACTIONS(844), 1,
      anon_sym_RBRACE,
    STATE(412), 1,
      aux_sym_interface_repeat1,
  [9652] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(792), 1,
      anon_sym_COMMA,
    ACTIONS(846), 1,
      anon_sym_RBRACE,
    STATE(405), 1,
      aux_sym_when_repeat1,
  [9665] = 3,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    STATE(208), 1,
      sym_string_part_content,
    ACTIONS(848), 2,
      sym_char,
      sym_text,
  [9676] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(792), 1,
      anon_sym_COMMA,
    ACTIONS(850), 1,
      anon_sym_RBRACE,
    STATE(405), 1,
      aux_sym_when_repeat1,
  [9689] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(725), 1,
      anon_sym_COMMA,
    ACTIONS(852), 1,
      anon_sym_RPAREN,
    STATE(408), 1,
      aux_sym_if_repeat1,
  [9702] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(854), 1,
      anon_sym_COMMA,
    ACTIONS(857), 1,
      anon_sym_RBRACE,
    STATE(395), 1,
      aux_sym_record_def_repeat1,
  [9715] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(327), 1,
      anon_sym_COMMA,
    ACTIONS(329), 1,
      anon_sym_RPAREN,
    STATE(377), 1,
      aux_sym_type_params_repeat1,
  [9728] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(762), 1,
      anon_sym_COMMA,
    ACTIONS(859), 1,
      anon_sym_RBRACE,
    STATE(413), 1,
      aux_sym_union_repeat1,
  [9741] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(861), 1,
      anon_sym_COMMA,
    ACTIONS(863), 1,
      anon_sym_RBRACE,
    STATE(415), 1,
      aux_sym_enum_repeat1,
  [9754] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(820), 1,
      anon_sym_COMMA,
    ACTIONS(865), 1,
      anon_sym_RBRACE,
    STATE(395), 1,
      aux_sym_record_def_repeat1,
  [9767] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(327), 1,
      anon_sym_COMMA,
    ACTIONS(867), 1,
      anon_sym_RPAREN,
    STATE(314), 1,
      aux_sym_type_params_repeat1,
  [9780] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(719), 1,
      anon_sym_LBRACE,
    STATE(309), 1,
      sym_if_yes,
    STATE(422), 1,
      sym_block,
  [9793] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(725), 1,
      anon_sym_COMMA,
    ACTIONS(869), 1,
      anon_sym_RPAREN,
    STATE(338), 1,
      aux_sym_if_repeat1,
  [9806] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(762), 1,
      anon_sym_COMMA,
    ACTIONS(871), 1,
      anon_sym_RBRACK,
    STATE(323), 1,
      aux_sym_union_repeat1,
  [9819] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(721), 1,
      anon_sym_COMMA,
    ACTIONS(873), 1,
      anon_sym_RPAREN,
    STATE(345), 1,
      aux_sym_call_ordered_repeat1,
  [9832] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(875), 1,
      anon_sym_COMMA,
    ACTIONS(878), 1,
      anon_sym_RBRACE,
    STATE(405), 1,
      aux_sym_when_repeat1,
  [9845] = 3,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(882), 1,
      anon_sym_AT,
    ACTIONS(880), 2,
      anon_sym_const,
      anon_sym_let,
  [9856] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(775), 1,
      anon_sym_COMMA,
    ACTIONS(884), 1,
      anon_sym_RBRACE,
    STATE(349), 1,
      aux_sym_call_unordered_repeat1,
  [9869] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(725), 1,
      anon_sym_COMMA,
    ACTIONS(886), 1,
      anon_sym_RPAREN,
    STATE(338), 1,
      aux_sym_if_repeat1,
  [9882] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(698), 3,
      anon_sym_COMMA,
      anon_sym_RBRACK,
      anon_sym_RPAREN,
  [9891] = 4,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(888), 1,
      sym_name,
    ACTIONS(890), 1,
      anon_sym_COLON,
    STATE(534), 1,
      sym_new_tag,
  [9904] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(892), 1,
      anon_sym_COMMA,
    ACTIONS(895), 1,
      anon_sym_RPAREN,
    STATE(411), 1,
      aux_sym_impl_repeat1,
  [9917] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(842), 1,
      anon_sym_COMMA,
    ACTIONS(897), 1,
      anon_sym_RBRACE,
    STATE(354), 1,
      aux_sym_interface_repeat1,
  [9930] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(762), 1,
      anon_sym_COMMA,
    ACTIONS(899), 1,
      anon_sym_RBRACE,
    STATE(323), 1,
      aux_sym_union_repeat1,
  [9943] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(349), 1,
      anon_sym_LBRACE,
    STATE(108), 1,
      sym_inputs,
    STATE(425), 1,
      sym_record_def,
  [9956] = 4,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(861), 1,
      anon_sym_COMMA,
    ACTIONS(901), 1,
      anon_sym_RBRACE,
    STATE(358), 1,
      aux_sym_enum_repeat1,
  [9969] = 4,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(903), 1,
      sym_name,
    ACTIONS(905), 1,
      sym_doc,
    STATE(416), 1,
      aux_sym_docs_repeat1,
  [9982] = 4,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(908), 1,
      sym_name,
    ACTIONS(910), 1,
      sym_doc,
    STATE(416), 1,
      aux_sym_docs_repeat1,
  [9995] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(415), 1,
      anon_sym_LBRACE,
    ACTIONS(912), 1,
      sym_name,
  [10005] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(914), 2,
      anon_sym_if,
      anon_sym_else,
  [10013] = 3,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(657), 1,
      anon_sym_LBRACE,
    STATE(151), 1,
      sym_block,
  [10023] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(734), 2,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [10031] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(916), 2,
      anon_sym_if,
      anon_sym_else,
  [10039] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(918), 2,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [10047] = 3,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(657), 1,
      anon_sym_LBRACE,
    STATE(138), 1,
      sym_block,
  [10057] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(920), 1,
      sym_name,
    ACTIONS(922), 1,
      anon_sym_LBRACE,
  [10067] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(924), 2,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [10075] = 3,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(719), 1,
      anon_sym_LBRACE,
    STATE(419), 1,
      sym_block,
  [10085] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(926), 2,
      anon_sym_if,
      anon_sym_else,
  [10093] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(749), 2,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [10101] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(928), 2,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [10109] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(760), 2,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [10117] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(930), 1,
      sym_name,
    ACTIONS(932), 1,
      anon_sym_variadic,
  [10127] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(934), 2,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [10135] = 3,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(936), 1,
      anon_sym_LBRACE,
    STATE(156), 1,
      sym_record_def,
  [10145] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(771), 2,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [10153] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(938), 2,
      anon_sym_native,
      anon_sym_LBRACE,
  [10161] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(940), 2,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [10169] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(942), 1,
      sym_name,
    ACTIONS(944), 1,
      anon_sym_RBRACK,
  [10179] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(784), 2,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [10187] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(895), 2,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [10195] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(946), 1,
      sym_name,
    STATE(491), 1,
      sym_receiver,
  [10205] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(948), 2,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [10213] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(950), 2,
      anon_sym_native,
      anon_sym_LBRACE,
  [10221] = 3,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(657), 1,
      anon_sym_LBRACE,
    STATE(141), 1,
      sym_block,
  [10231] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(952), 1,
      sym_name,
    ACTIONS(954), 1,
      anon_sym_variadic,
  [10241] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(956), 1,
      sym_name,
    ACTIONS(958), 1,
      anon_sym_variadic,
  [10251] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(946), 1,
      sym_name,
    STATE(526), 1,
      sym_receiver,
  [10261] = 3,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(719), 1,
      anon_sym_LBRACE,
    STATE(428), 1,
      sym_block,
  [10271] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(960), 2,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [10279] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(753), 1,
      sym_name,
    STATE(431), 1,
      sym_arg_mapping,
  [10289] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(962), 1,
      anon_sym_COLON_COLON,
    ACTIONS(964), 1,
      sym_name,
  [10299] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(966), 2,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [10307] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(968), 2,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [10315] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(970), 2,
      anon_sym_namespace,
      sym_name,
  [10323] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(972), 2,
      anon_sym_EQ_GT,
      anon_sym_AMP,
  [10331] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(946), 1,
      sym_name,
    STATE(471), 1,
      sym_receiver,
  [10341] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(974), 2,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [10349] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(878), 2,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [10357] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(976), 2,
      anon_sym_EQ_GT,
      anon_sym_AMP,
  [10365] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(978), 2,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [10373] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(422), 1,
      anon_sym_LBRACE,
    ACTIONS(980), 1,
      sym_name,
  [10383] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(982), 2,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [10391] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(984), 2,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [10399] = 3,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(413), 1,
      anon_sym_LBRACE,
    ACTIONS(986), 1,
      sym_name,
  [10409] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(988), 2,
      anon_sym_native,
      anon_sym_LBRACE,
  [10417] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(990), 2,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [10425] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(992), 2,
      anon_sym_EQ_GT,
      anon_sym_AMP,
  [10433] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(684), 2,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [10441] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(994), 2,
      anon_sym_native,
      anon_sym_LBRACE,
  [10449] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(857), 2,
      anon_sym_COMMA,
      anon_sym_RBRACE,
  [10457] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(996), 1,
      anon_sym_DOT,
  [10464] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(998), 1,
      anon_sym_RBRACE,
  [10471] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1000), 1,
      anon_sym_LBRACE,
  [10478] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(976), 1,
      anon_sym_EQ,
  [10485] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1002), 1,
      anon_sym_LBRACE,
  [10492] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(541), 1,
      anon_sym_using,
  [10499] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1004), 1,
      anon_sym_RBRACE,
  [10506] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1006), 1,
      anon_sym_EQ,
  [10513] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1008), 1,
      anon_sym_COMMA,
  [10520] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1010), 1,
      anon_sym_EQ_GT,
  [10527] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1012), 1,
      anon_sym_RBRACE,
  [10534] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1014), 1,
      anon_sym_EQ_GT,
  [10541] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1016), 1,
      anon_sym_EQ_GT,
  [10548] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1018), 1,
      anon_sym_RPAREN,
  [10555] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1020), 1,
      anon_sym_RPAREN,
  [10562] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1022), 1,
      anon_sym_RPAREN,
  [10569] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1024), 1,
      anon_sym_COMMA,
  [10576] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(956), 1,
      sym_name,
  [10583] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1026), 1,
      sym_name,
  [10590] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1028), 1,
      sym_text,
  [10597] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1030), 1,
      anon_sym_DOT,
  [10604] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1032), 1,
      anon_sym_DOT,
  [10611] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1034), 1,
      sym_name,
  [10618] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(952), 1,
      sym_name,
  [10625] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1036), 1,
      sym_name,
  [10632] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1038), 1,
      anon_sym_RBRACE,
  [10639] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1040), 1,
      sym_name,
  [10646] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1042), 1,
      sym_name,
  [10653] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1044), 1,
      anon_sym_RPAREN,
  [10660] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1046), 1,
      anon_sym_EQ_GT,
  [10667] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1048), 1,
      anon_sym_RBRACE,
  [10674] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1050), 1,
      sym_name,
  [10681] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1052), 1,
      sym_name,
  [10688] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1054), 1,
      anon_sym_RBRACE,
  [10695] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1056), 1,
      sym_name,
  [10702] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1058), 1,
      sym_name,
  [10709] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1060), 1,
      sym_name,
  [10716] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1062), 1,
      sym_name,
  [10723] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1064), 1,
      anon_sym_COMMA,
  [10730] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1066), 1,
      sym_name,
  [10737] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1068), 1,
      anon_sym_RPAREN,
  [10744] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1070), 1,
      anon_sym_RPAREN,
  [10751] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(810), 1,
      anon_sym_EQ_GT,
  [10758] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1072), 1,
      anon_sym_RBRACE,
  [10765] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1074), 1,
      sym_name,
  [10772] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1076), 1,
      sym_name,
  [10779] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1078), 1,
      anon_sym_COMMA,
  [10786] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1080), 1,
      anon_sym_RBRACK,
  [10793] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1082), 1,
      anon_sym_RPAREN,
  [10800] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1084), 1,
      anon_sym_RBRACE,
  [10807] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1086), 1,
      anon_sym_LPAREN,
  [10814] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1088), 1,
      anon_sym_EQ,
  [10821] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(353), 1,
      anon_sym_EQ,
  [10828] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1090), 1,
      sym_name,
  [10835] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1092), 1,
      anon_sym_EQ,
  [10842] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1094), 1,
      anon_sym_DOT,
  [10849] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1096), 1,
      anon_sym_LPAREN,
  [10856] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1098), 1,
      sym_name,
  [10863] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1100), 1,
      anon_sym_RBRACE,
  [10870] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(992), 1,
      anon_sym_EQ,
  [10877] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1102), 1,
      anon_sym_RBRACE,
  [10884] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1104), 1,
      anon_sym_RPAREN,
  [10891] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1106), 1,
      anon_sym_RPAREN,
  [10898] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1108), 1,
      sym_name,
  [10905] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1110), 1,
      sym_name,
  [10912] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1112), 1,
      sym_name,
  [10919] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1114), 1,
      sym_name,
  [10926] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1116), 1,
      sym_name,
  [10933] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1118), 1,
      anon_sym_RPAREN,
  [10940] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1120), 1,
      sym_name,
  [10947] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1122), 1,
      sym_name,
  [10954] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1124), 1,
      sym_name,
  [10961] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1126), 1,
      anon_sym_RBRACK,
  [10968] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1128), 1,
      anon_sym_LPAREN,
  [10975] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1130), 1,
      anon_sym_LPAREN,
  [10982] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(53), 1,
      anon_sym_LBRACK,
  [10989] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1132), 1,
      anon_sym_RBRACE,
  [10996] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1134), 1,
      sym_name,
  [11003] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1136), 1,
      sym_name,
  [11010] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1138), 1,
      sym_name,
  [11017] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1140), 1,
      anon_sym_EQ_GT,
  [11024] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1142), 1,
      anon_sym_PIPE,
  [11031] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1144), 1,
      sym_name,
  [11038] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1146), 1,
      anon_sym_EQ,
  [11045] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1148), 1,
      anon_sym_LBRACE,
  [11052] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1150), 1,
      sym_name,
  [11059] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1152), 1,
      anon_sym_RBRACK,
  [11066] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1154), 1,
      anon_sym_COMMA,
  [11073] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1156), 1,
      anon_sym_RPAREN,
  [11080] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(751), 1,
      anon_sym_EQ_GT,
  [11087] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(353), 1,
      anon_sym_EQ_GT,
  [11094] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1158), 1,
      anon_sym_PIPE,
  [11101] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1160), 1,
      anon_sym_EQ_GT,
  [11108] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(972), 1,
      anon_sym_EQ,
  [11115] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1162), 1,
      anon_sym_LBRACE,
  [11122] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1164), 1,
      anon_sym_LBRACE,
  [11129] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1166), 1,
      anon_sym_LBRACE,
  [11136] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1168), 1,
      anon_sym_RPAREN,
  [11143] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1170), 1,
      anon_sym_LBRACE,
  [11150] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1172), 1,
      anon_sym_RBRACE,
  [11157] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1174), 1,
      anon_sym_RPAREN,
  [11164] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1176), 1,
      anon_sym_RPAREN,
  [11171] = 2,
    ACTIONS(3), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1178), 1,
      sym_name,
  [11178] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1180), 1,
      anon_sym_COLON_COLON,
  [11185] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1182), 1,
      ts_builtin_sym_end,
  [11192] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1184), 1,
      anon_sym_LPAREN,
  [11199] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1186), 1,
      anon_sym_LPAREN,
  [11206] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1188), 1,
      anon_sym_LPAREN,
  [11213] = 2,
    ACTIONS(7), 1,
      sym_tree_sitter_ignore_rule,
    ACTIONS(1190), 1,
      anon_sym_LPAREN,
};

static uint32_t ts_small_parse_table_map[] = {
  [SMALL_STATE(2)] = 0,
  [SMALL_STATE(3)] = 106,
  [SMALL_STATE(4)] = 212,
  [SMALL_STATE(5)] = 302,
  [SMALL_STATE(6)] = 392,
  [SMALL_STATE(7)] = 482,
  [SMALL_STATE(8)] = 572,
  [SMALL_STATE(9)] = 662,
  [SMALL_STATE(10)] = 752,
  [SMALL_STATE(11)] = 834,
  [SMALL_STATE(12)] = 916,
  [SMALL_STATE(13)] = 997,
  [SMALL_STATE(14)] = 1078,
  [SMALL_STATE(15)] = 1159,
  [SMALL_STATE(16)] = 1240,
  [SMALL_STATE(17)] = 1318,
  [SMALL_STATE(18)] = 1396,
  [SMALL_STATE(19)] = 1474,
  [SMALL_STATE(20)] = 1552,
  [SMALL_STATE(21)] = 1627,
  [SMALL_STATE(22)] = 1702,
  [SMALL_STATE(23)] = 1777,
  [SMALL_STATE(24)] = 1852,
  [SMALL_STATE(25)] = 1924,
  [SMALL_STATE(26)] = 1996,
  [SMALL_STATE(27)] = 2068,
  [SMALL_STATE(28)] = 2140,
  [SMALL_STATE(29)] = 2212,
  [SMALL_STATE(30)] = 2284,
  [SMALL_STATE(31)] = 2356,
  [SMALL_STATE(32)] = 2428,
  [SMALL_STATE(33)] = 2500,
  [SMALL_STATE(34)] = 2572,
  [SMALL_STATE(35)] = 2644,
  [SMALL_STATE(36)] = 2716,
  [SMALL_STATE(37)] = 2788,
  [SMALL_STATE(38)] = 2860,
  [SMALL_STATE(39)] = 2932,
  [SMALL_STATE(40)] = 3004,
  [SMALL_STATE(41)] = 3076,
  [SMALL_STATE(42)] = 3148,
  [SMALL_STATE(43)] = 3220,
  [SMALL_STATE(44)] = 3292,
  [SMALL_STATE(45)] = 3361,
  [SMALL_STATE(46)] = 3430,
  [SMALL_STATE(47)] = 3483,
  [SMALL_STATE(48)] = 3536,
  [SMALL_STATE(49)] = 3574,
  [SMALL_STATE(50)] = 3620,
  [SMALL_STATE(51)] = 3666,
  [SMALL_STATE(52)] = 3712,
  [SMALL_STATE(53)] = 3751,
  [SMALL_STATE(54)] = 3790,
  [SMALL_STATE(55)] = 3829,
  [SMALL_STATE(56)] = 3868,
  [SMALL_STATE(57)] = 3907,
  [SMALL_STATE(58)] = 3931,
  [SMALL_STATE(59)] = 3955,
  [SMALL_STATE(60)] = 3979,
  [SMALL_STATE(61)] = 4003,
  [SMALL_STATE(62)] = 4027,
  [SMALL_STATE(63)] = 4051,
  [SMALL_STATE(64)] = 4088,
  [SMALL_STATE(65)] = 4125,
  [SMALL_STATE(66)] = 4162,
  [SMALL_STATE(67)] = 4199,
  [SMALL_STATE(68)] = 4236,
  [SMALL_STATE(69)] = 4276,
  [SMALL_STATE(70)] = 4316,
  [SMALL_STATE(71)] = 4340,
  [SMALL_STATE(72)] = 4366,
  [SMALL_STATE(73)] = 4392,
  [SMALL_STATE(74)] = 4432,
  [SMALL_STATE(75)] = 4453,
  [SMALL_STATE(76)] = 4487,
  [SMALL_STATE(77)] = 4507,
  [SMALL_STATE(78)] = 4529,
  [SMALL_STATE(79)] = 4549,
  [SMALL_STATE(80)] = 4571,
  [SMALL_STATE(81)] = 4591,
  [SMALL_STATE(82)] = 4611,
  [SMALL_STATE(83)] = 4631,
  [SMALL_STATE(84)] = 4651,
  [SMALL_STATE(85)] = 4671,
  [SMALL_STATE(86)] = 4695,
  [SMALL_STATE(87)] = 4729,
  [SMALL_STATE(88)] = 4763,
  [SMALL_STATE(89)] = 4783,
  [SMALL_STATE(90)] = 4803,
  [SMALL_STATE(91)] = 4826,
  [SMALL_STATE(92)] = 4849,
  [SMALL_STATE(93)] = 4872,
  [SMALL_STATE(94)] = 4889,
  [SMALL_STATE(95)] = 4916,
  [SMALL_STATE(96)] = 4943,
  [SMALL_STATE(97)] = 4962,
  [SMALL_STATE(98)] = 4978,
  [SMALL_STATE(99)] = 4994,
  [SMALL_STATE(100)] = 5010,
  [SMALL_STATE(101)] = 5026,
  [SMALL_STATE(102)] = 5046,
  [SMALL_STATE(103)] = 5062,
  [SMALL_STATE(104)] = 5078,
  [SMALL_STATE(105)] = 5094,
  [SMALL_STATE(106)] = 5110,
  [SMALL_STATE(107)] = 5138,
  [SMALL_STATE(108)] = 5166,
  [SMALL_STATE(109)] = 5200,
  [SMALL_STATE(110)] = 5216,
  [SMALL_STATE(111)] = 5232,
  [SMALL_STATE(112)] = 5252,
  [SMALL_STATE(113)] = 5268,
  [SMALL_STATE(114)] = 5284,
  [SMALL_STATE(115)] = 5312,
  [SMALL_STATE(116)] = 5332,
  [SMALL_STATE(117)] = 5348,
  [SMALL_STATE(118)] = 5382,
  [SMALL_STATE(119)] = 5398,
  [SMALL_STATE(120)] = 5426,
  [SMALL_STATE(121)] = 5442,
  [SMALL_STATE(122)] = 5457,
  [SMALL_STATE(123)] = 5478,
  [SMALL_STATE(124)] = 5493,
  [SMALL_STATE(125)] = 5508,
  [SMALL_STATE(126)] = 5523,
  [SMALL_STATE(127)] = 5538,
  [SMALL_STATE(128)] = 5555,
  [SMALL_STATE(129)] = 5572,
  [SMALL_STATE(130)] = 5587,
  [SMALL_STATE(131)] = 5606,
  [SMALL_STATE(132)] = 5621,
  [SMALL_STATE(133)] = 5636,
  [SMALL_STATE(134)] = 5651,
  [SMALL_STATE(135)] = 5666,
  [SMALL_STATE(136)] = 5681,
  [SMALL_STATE(137)] = 5696,
  [SMALL_STATE(138)] = 5711,
  [SMALL_STATE(139)] = 5726,
  [SMALL_STATE(140)] = 5741,
  [SMALL_STATE(141)] = 5760,
  [SMALL_STATE(142)] = 5775,
  [SMALL_STATE(143)] = 5790,
  [SMALL_STATE(144)] = 5805,
  [SMALL_STATE(145)] = 5826,
  [SMALL_STATE(146)] = 5841,
  [SMALL_STATE(147)] = 5856,
  [SMALL_STATE(148)] = 5871,
  [SMALL_STATE(149)] = 5886,
  [SMALL_STATE(150)] = 5901,
  [SMALL_STATE(151)] = 5916,
  [SMALL_STATE(152)] = 5931,
  [SMALL_STATE(153)] = 5946,
  [SMALL_STATE(154)] = 5961,
  [SMALL_STATE(155)] = 5976,
  [SMALL_STATE(156)] = 5991,
  [SMALL_STATE(157)] = 6006,
  [SMALL_STATE(158)] = 6027,
  [SMALL_STATE(159)] = 6042,
  [SMALL_STATE(160)] = 6057,
  [SMALL_STATE(161)] = 6072,
  [SMALL_STATE(162)] = 6087,
  [SMALL_STATE(163)] = 6102,
  [SMALL_STATE(164)] = 6121,
  [SMALL_STATE(165)] = 6135,
  [SMALL_STATE(166)] = 6149,
  [SMALL_STATE(167)] = 6169,
  [SMALL_STATE(168)] = 6189,
  [SMALL_STATE(169)] = 6203,
  [SMALL_STATE(170)] = 6217,
  [SMALL_STATE(171)] = 6231,
  [SMALL_STATE(172)] = 6245,
  [SMALL_STATE(173)] = 6259,
  [SMALL_STATE(174)] = 6273,
  [SMALL_STATE(175)] = 6299,
  [SMALL_STATE(176)] = 6313,
  [SMALL_STATE(177)] = 6327,
  [SMALL_STATE(178)] = 6341,
  [SMALL_STATE(179)] = 6355,
  [SMALL_STATE(180)] = 6375,
  [SMALL_STATE(181)] = 6389,
  [SMALL_STATE(182)] = 6403,
  [SMALL_STATE(183)] = 6429,
  [SMALL_STATE(184)] = 6443,
  [SMALL_STATE(185)] = 6457,
  [SMALL_STATE(186)] = 6483,
  [SMALL_STATE(187)] = 6497,
  [SMALL_STATE(188)] = 6511,
  [SMALL_STATE(189)] = 6525,
  [SMALL_STATE(190)] = 6539,
  [SMALL_STATE(191)] = 6557,
  [SMALL_STATE(192)] = 6583,
  [SMALL_STATE(193)] = 6597,
  [SMALL_STATE(194)] = 6611,
  [SMALL_STATE(195)] = 6637,
  [SMALL_STATE(196)] = 6651,
  [SMALL_STATE(197)] = 6665,
  [SMALL_STATE(198)] = 6679,
  [SMALL_STATE(199)] = 6693,
  [SMALL_STATE(200)] = 6707,
  [SMALL_STATE(201)] = 6733,
  [SMALL_STATE(202)] = 6747,
  [SMALL_STATE(203)] = 6761,
  [SMALL_STATE(204)] = 6774,
  [SMALL_STATE(205)] = 6797,
  [SMALL_STATE(206)] = 6820,
  [SMALL_STATE(207)] = 6843,
  [SMALL_STATE(208)] = 6858,
  [SMALL_STATE(209)] = 6873,
  [SMALL_STATE(210)] = 6896,
  [SMALL_STATE(211)] = 6911,
  [SMALL_STATE(212)] = 6924,
  [SMALL_STATE(213)] = 6937,
  [SMALL_STATE(214)] = 6950,
  [SMALL_STATE(215)] = 6964,
  [SMALL_STATE(216)] = 6986,
  [SMALL_STATE(217)] = 7008,
  [SMALL_STATE(218)] = 7030,
  [SMALL_STATE(219)] = 7052,
  [SMALL_STATE(220)] = 7066,
  [SMALL_STATE(221)] = 7080,
  [SMALL_STATE(222)] = 7102,
  [SMALL_STATE(223)] = 7116,
  [SMALL_STATE(224)] = 7130,
  [SMALL_STATE(225)] = 7144,
  [SMALL_STATE(226)] = 7158,
  [SMALL_STATE(227)] = 7172,
  [SMALL_STATE(228)] = 7186,
  [SMALL_STATE(229)] = 7200,
  [SMALL_STATE(230)] = 7214,
  [SMALL_STATE(231)] = 7228,
  [SMALL_STATE(232)] = 7242,
  [SMALL_STATE(233)] = 7264,
  [SMALL_STATE(234)] = 7278,
  [SMALL_STATE(235)] = 7292,
  [SMALL_STATE(236)] = 7306,
  [SMALL_STATE(237)] = 7328,
  [SMALL_STATE(238)] = 7342,
  [SMALL_STATE(239)] = 7364,
  [SMALL_STATE(240)] = 7386,
  [SMALL_STATE(241)] = 7400,
  [SMALL_STATE(242)] = 7414,
  [SMALL_STATE(243)] = 7428,
  [SMALL_STATE(244)] = 7442,
  [SMALL_STATE(245)] = 7456,
  [SMALL_STATE(246)] = 7470,
  [SMALL_STATE(247)] = 7484,
  [SMALL_STATE(248)] = 7504,
  [SMALL_STATE(249)] = 7518,
  [SMALL_STATE(250)] = 7540,
  [SMALL_STATE(251)] = 7560,
  [SMALL_STATE(252)] = 7582,
  [SMALL_STATE(253)] = 7596,
  [SMALL_STATE(254)] = 7618,
  [SMALL_STATE(255)] = 7632,
  [SMALL_STATE(256)] = 7646,
  [SMALL_STATE(257)] = 7660,
  [SMALL_STATE(258)] = 7674,
  [SMALL_STATE(259)] = 7688,
  [SMALL_STATE(260)] = 7702,
  [SMALL_STATE(261)] = 7716,
  [SMALL_STATE(262)] = 7730,
  [SMALL_STATE(263)] = 7744,
  [SMALL_STATE(264)] = 7761,
  [SMALL_STATE(265)] = 7772,
  [SMALL_STATE(266)] = 7791,
  [SMALL_STATE(267)] = 7808,
  [SMALL_STATE(268)] = 7825,
  [SMALL_STATE(269)] = 7836,
  [SMALL_STATE(270)] = 7855,
  [SMALL_STATE(271)] = 7872,
  [SMALL_STATE(272)] = 7891,
  [SMALL_STATE(273)] = 7910,
  [SMALL_STATE(274)] = 7929,
  [SMALL_STATE(275)] = 7948,
  [SMALL_STATE(276)] = 7965,
  [SMALL_STATE(277)] = 7982,
  [SMALL_STATE(278)] = 8001,
  [SMALL_STATE(279)] = 8020,
  [SMALL_STATE(280)] = 8037,
  [SMALL_STATE(281)] = 8054,
  [SMALL_STATE(282)] = 8071,
  [SMALL_STATE(283)] = 8088,
  [SMALL_STATE(284)] = 8105,
  [SMALL_STATE(285)] = 8124,
  [SMALL_STATE(286)] = 8143,
  [SMALL_STATE(287)] = 8162,
  [SMALL_STATE(288)] = 8181,
  [SMALL_STATE(289)] = 8200,
  [SMALL_STATE(290)] = 8219,
  [SMALL_STATE(291)] = 8238,
  [SMALL_STATE(292)] = 8255,
  [SMALL_STATE(293)] = 8274,
  [SMALL_STATE(294)] = 8293,
  [SMALL_STATE(295)] = 8310,
  [SMALL_STATE(296)] = 8321,
  [SMALL_STATE(297)] = 8340,
  [SMALL_STATE(298)] = 8359,
  [SMALL_STATE(299)] = 8376,
  [SMALL_STATE(300)] = 8395,
  [SMALL_STATE(301)] = 8412,
  [SMALL_STATE(302)] = 8429,
  [SMALL_STATE(303)] = 8446,
  [SMALL_STATE(304)] = 8465,
  [SMALL_STATE(305)] = 8482,
  [SMALL_STATE(306)] = 8501,
  [SMALL_STATE(307)] = 8520,
  [SMALL_STATE(308)] = 8534,
  [SMALL_STATE(309)] = 8548,
  [SMALL_STATE(310)] = 8562,
  [SMALL_STATE(311)] = 8576,
  [SMALL_STATE(312)] = 8588,
  [SMALL_STATE(313)] = 8602,
  [SMALL_STATE(314)] = 8616,
  [SMALL_STATE(315)] = 8630,
  [SMALL_STATE(316)] = 8646,
  [SMALL_STATE(317)] = 8662,
  [SMALL_STATE(318)] = 8676,
  [SMALL_STATE(319)] = 8692,
  [SMALL_STATE(320)] = 8708,
  [SMALL_STATE(321)] = 8722,
  [SMALL_STATE(322)] = 8738,
  [SMALL_STATE(323)] = 8752,
  [SMALL_STATE(324)] = 8766,
  [SMALL_STATE(325)] = 8780,
  [SMALL_STATE(326)] = 8796,
  [SMALL_STATE(327)] = 8812,
  [SMALL_STATE(328)] = 8828,
  [SMALL_STATE(329)] = 8844,
  [SMALL_STATE(330)] = 8858,
  [SMALL_STATE(331)] = 8872,
  [SMALL_STATE(332)] = 8888,
  [SMALL_STATE(333)] = 8904,
  [SMALL_STATE(334)] = 8917,
  [SMALL_STATE(335)] = 8930,
  [SMALL_STATE(336)] = 8943,
  [SMALL_STATE(337)] = 8956,
  [SMALL_STATE(338)] = 8969,
  [SMALL_STATE(339)] = 8982,
  [SMALL_STATE(340)] = 8995,
  [SMALL_STATE(341)] = 9008,
  [SMALL_STATE(342)] = 9017,
  [SMALL_STATE(343)] = 9030,
  [SMALL_STATE(344)] = 9043,
  [SMALL_STATE(345)] = 9056,
  [SMALL_STATE(346)] = 9069,
  [SMALL_STATE(347)] = 9082,
  [SMALL_STATE(348)] = 9095,
  [SMALL_STATE(349)] = 9108,
  [SMALL_STATE(350)] = 9121,
  [SMALL_STATE(351)] = 9134,
  [SMALL_STATE(352)] = 9147,
  [SMALL_STATE(353)] = 9160,
  [SMALL_STATE(354)] = 9173,
  [SMALL_STATE(355)] = 9186,
  [SMALL_STATE(356)] = 9197,
  [SMALL_STATE(357)] = 9210,
  [SMALL_STATE(358)] = 9223,
  [SMALL_STATE(359)] = 9236,
  [SMALL_STATE(360)] = 9249,
  [SMALL_STATE(361)] = 9262,
  [SMALL_STATE(362)] = 9275,
  [SMALL_STATE(363)] = 9288,
  [SMALL_STATE(364)] = 9301,
  [SMALL_STATE(365)] = 9314,
  [SMALL_STATE(366)] = 9327,
  [SMALL_STATE(367)] = 9340,
  [SMALL_STATE(368)] = 9353,
  [SMALL_STATE(369)] = 9366,
  [SMALL_STATE(370)] = 9379,
  [SMALL_STATE(371)] = 9392,
  [SMALL_STATE(372)] = 9405,
  [SMALL_STATE(373)] = 9418,
  [SMALL_STATE(374)] = 9431,
  [SMALL_STATE(375)] = 9444,
  [SMALL_STATE(376)] = 9457,
  [SMALL_STATE(377)] = 9470,
  [SMALL_STATE(378)] = 9483,
  [SMALL_STATE(379)] = 9496,
  [SMALL_STATE(380)] = 9509,
  [SMALL_STATE(381)] = 9522,
  [SMALL_STATE(382)] = 9535,
  [SMALL_STATE(383)] = 9548,
  [SMALL_STATE(384)] = 9561,
  [SMALL_STATE(385)] = 9574,
  [SMALL_STATE(386)] = 9587,
  [SMALL_STATE(387)] = 9600,
  [SMALL_STATE(388)] = 9613,
  [SMALL_STATE(389)] = 9626,
  [SMALL_STATE(390)] = 9639,
  [SMALL_STATE(391)] = 9652,
  [SMALL_STATE(392)] = 9665,
  [SMALL_STATE(393)] = 9676,
  [SMALL_STATE(394)] = 9689,
  [SMALL_STATE(395)] = 9702,
  [SMALL_STATE(396)] = 9715,
  [SMALL_STATE(397)] = 9728,
  [SMALL_STATE(398)] = 9741,
  [SMALL_STATE(399)] = 9754,
  [SMALL_STATE(400)] = 9767,
  [SMALL_STATE(401)] = 9780,
  [SMALL_STATE(402)] = 9793,
  [SMALL_STATE(403)] = 9806,
  [SMALL_STATE(404)] = 9819,
  [SMALL_STATE(405)] = 9832,
  [SMALL_STATE(406)] = 9845,
  [SMALL_STATE(407)] = 9856,
  [SMALL_STATE(408)] = 9869,
  [SMALL_STATE(409)] = 9882,
  [SMALL_STATE(410)] = 9891,
  [SMALL_STATE(411)] = 9904,
  [SMALL_STATE(412)] = 9917,
  [SMALL_STATE(413)] = 9930,
  [SMALL_STATE(414)] = 9943,
  [SMALL_STATE(415)] = 9956,
  [SMALL_STATE(416)] = 9969,
  [SMALL_STATE(417)] = 9982,
  [SMALL_STATE(418)] = 9995,
  [SMALL_STATE(419)] = 10005,
  [SMALL_STATE(420)] = 10013,
  [SMALL_STATE(421)] = 10023,
  [SMALL_STATE(422)] = 10031,
  [SMALL_STATE(423)] = 10039,
  [SMALL_STATE(424)] = 10047,
  [SMALL_STATE(425)] = 10057,
  [SMALL_STATE(426)] = 10067,
  [SMALL_STATE(427)] = 10075,
  [SMALL_STATE(428)] = 10085,
  [SMALL_STATE(429)] = 10093,
  [SMALL_STATE(430)] = 10101,
  [SMALL_STATE(431)] = 10109,
  [SMALL_STATE(432)] = 10117,
  [SMALL_STATE(433)] = 10127,
  [SMALL_STATE(434)] = 10135,
  [SMALL_STATE(435)] = 10145,
  [SMALL_STATE(436)] = 10153,
  [SMALL_STATE(437)] = 10161,
  [SMALL_STATE(438)] = 10169,
  [SMALL_STATE(439)] = 10179,
  [SMALL_STATE(440)] = 10187,
  [SMALL_STATE(441)] = 10195,
  [SMALL_STATE(442)] = 10205,
  [SMALL_STATE(443)] = 10213,
  [SMALL_STATE(444)] = 10221,
  [SMALL_STATE(445)] = 10231,
  [SMALL_STATE(446)] = 10241,
  [SMALL_STATE(447)] = 10251,
  [SMALL_STATE(448)] = 10261,
  [SMALL_STATE(449)] = 10271,
  [SMALL_STATE(450)] = 10279,
  [SMALL_STATE(451)] = 10289,
  [SMALL_STATE(452)] = 10299,
  [SMALL_STATE(453)] = 10307,
  [SMALL_STATE(454)] = 10315,
  [SMALL_STATE(455)] = 10323,
  [SMALL_STATE(456)] = 10331,
  [SMALL_STATE(457)] = 10341,
  [SMALL_STATE(458)] = 10349,
  [SMALL_STATE(459)] = 10357,
  [SMALL_STATE(460)] = 10365,
  [SMALL_STATE(461)] = 10373,
  [SMALL_STATE(462)] = 10383,
  [SMALL_STATE(463)] = 10391,
  [SMALL_STATE(464)] = 10399,
  [SMALL_STATE(465)] = 10409,
  [SMALL_STATE(466)] = 10417,
  [SMALL_STATE(467)] = 10425,
  [SMALL_STATE(468)] = 10433,
  [SMALL_STATE(469)] = 10441,
  [SMALL_STATE(470)] = 10449,
  [SMALL_STATE(471)] = 10457,
  [SMALL_STATE(472)] = 10464,
  [SMALL_STATE(473)] = 10471,
  [SMALL_STATE(474)] = 10478,
  [SMALL_STATE(475)] = 10485,
  [SMALL_STATE(476)] = 10492,
  [SMALL_STATE(477)] = 10499,
  [SMALL_STATE(478)] = 10506,
  [SMALL_STATE(479)] = 10513,
  [SMALL_STATE(480)] = 10520,
  [SMALL_STATE(481)] = 10527,
  [SMALL_STATE(482)] = 10534,
  [SMALL_STATE(483)] = 10541,
  [SMALL_STATE(484)] = 10548,
  [SMALL_STATE(485)] = 10555,
  [SMALL_STATE(486)] = 10562,
  [SMALL_STATE(487)] = 10569,
  [SMALL_STATE(488)] = 10576,
  [SMALL_STATE(489)] = 10583,
  [SMALL_STATE(490)] = 10590,
  [SMALL_STATE(491)] = 10597,
  [SMALL_STATE(492)] = 10604,
  [SMALL_STATE(493)] = 10611,
  [SMALL_STATE(494)] = 10618,
  [SMALL_STATE(495)] = 10625,
  [SMALL_STATE(496)] = 10632,
  [SMALL_STATE(497)] = 10639,
  [SMALL_STATE(498)] = 10646,
  [SMALL_STATE(499)] = 10653,
  [SMALL_STATE(500)] = 10660,
  [SMALL_STATE(501)] = 10667,
  [SMALL_STATE(502)] = 10674,
  [SMALL_STATE(503)] = 10681,
  [SMALL_STATE(504)] = 10688,
  [SMALL_STATE(505)] = 10695,
  [SMALL_STATE(506)] = 10702,
  [SMALL_STATE(507)] = 10709,
  [SMALL_STATE(508)] = 10716,
  [SMALL_STATE(509)] = 10723,
  [SMALL_STATE(510)] = 10730,
  [SMALL_STATE(511)] = 10737,
  [SMALL_STATE(512)] = 10744,
  [SMALL_STATE(513)] = 10751,
  [SMALL_STATE(514)] = 10758,
  [SMALL_STATE(515)] = 10765,
  [SMALL_STATE(516)] = 10772,
  [SMALL_STATE(517)] = 10779,
  [SMALL_STATE(518)] = 10786,
  [SMALL_STATE(519)] = 10793,
  [SMALL_STATE(520)] = 10800,
  [SMALL_STATE(521)] = 10807,
  [SMALL_STATE(522)] = 10814,
  [SMALL_STATE(523)] = 10821,
  [SMALL_STATE(524)] = 10828,
  [SMALL_STATE(525)] = 10835,
  [SMALL_STATE(526)] = 10842,
  [SMALL_STATE(527)] = 10849,
  [SMALL_STATE(528)] = 10856,
  [SMALL_STATE(529)] = 10863,
  [SMALL_STATE(530)] = 10870,
  [SMALL_STATE(531)] = 10877,
  [SMALL_STATE(532)] = 10884,
  [SMALL_STATE(533)] = 10891,
  [SMALL_STATE(534)] = 10898,
  [SMALL_STATE(535)] = 10905,
  [SMALL_STATE(536)] = 10912,
  [SMALL_STATE(537)] = 10919,
  [SMALL_STATE(538)] = 10926,
  [SMALL_STATE(539)] = 10933,
  [SMALL_STATE(540)] = 10940,
  [SMALL_STATE(541)] = 10947,
  [SMALL_STATE(542)] = 10954,
  [SMALL_STATE(543)] = 10961,
  [SMALL_STATE(544)] = 10968,
  [SMALL_STATE(545)] = 10975,
  [SMALL_STATE(546)] = 10982,
  [SMALL_STATE(547)] = 10989,
  [SMALL_STATE(548)] = 10996,
  [SMALL_STATE(549)] = 11003,
  [SMALL_STATE(550)] = 11010,
  [SMALL_STATE(551)] = 11017,
  [SMALL_STATE(552)] = 11024,
  [SMALL_STATE(553)] = 11031,
  [SMALL_STATE(554)] = 11038,
  [SMALL_STATE(555)] = 11045,
  [SMALL_STATE(556)] = 11052,
  [SMALL_STATE(557)] = 11059,
  [SMALL_STATE(558)] = 11066,
  [SMALL_STATE(559)] = 11073,
  [SMALL_STATE(560)] = 11080,
  [SMALL_STATE(561)] = 11087,
  [SMALL_STATE(562)] = 11094,
  [SMALL_STATE(563)] = 11101,
  [SMALL_STATE(564)] = 11108,
  [SMALL_STATE(565)] = 11115,
  [SMALL_STATE(566)] = 11122,
  [SMALL_STATE(567)] = 11129,
  [SMALL_STATE(568)] = 11136,
  [SMALL_STATE(569)] = 11143,
  [SMALL_STATE(570)] = 11150,
  [SMALL_STATE(571)] = 11157,
  [SMALL_STATE(572)] = 11164,
  [SMALL_STATE(573)] = 11171,
  [SMALL_STATE(574)] = 11178,
  [SMALL_STATE(575)] = 11185,
  [SMALL_STATE(576)] = 11192,
  [SMALL_STATE(577)] = 11199,
  [SMALL_STATE(578)] = 11206,
  [SMALL_STATE(579)] = 11213,
};

static TSParseActionEntry ts_parse_actions[] = {
  [0] = {.count = 0, .reusable = false},
  [1] = {.count = 1, .reusable = false}, RECOVER(),
  [3] = {.count = 1, .reusable = false}, SHIFT_EXTRA(),
  [5] = {.count = 1, .reusable = true}, SHIFT(451),
  [7] = {.count = 1, .reusable = true}, SHIFT_EXTRA(),
  [9] = {.count = 1, .reusable = false}, SHIFT(111),
  [11] = {.count = 1, .reusable = true}, SHIFT(406),
  [13] = {.count = 1, .reusable = true}, SHIFT(17),
  [15] = {.count = 1, .reusable = true}, SHIFT(2),
  [17] = {.count = 1, .reusable = false}, SHIFT(283),
  [19] = {.count = 1, .reusable = false}, SHIFT(29),
  [21] = {.count = 1, .reusable = true}, SHIFT(510),
  [23] = {.count = 1, .reusable = false}, SHIFT(527),
  [25] = {.count = 1, .reusable = false}, SHIFT(544),
  [27] = {.count = 1, .reusable = false}, SHIFT(545),
  [29] = {.count = 1, .reusable = true}, SHIFT(321),
  [31] = {.count = 1, .reusable = false}, SHIFT(410),
  [33] = {.count = 1, .reusable = false}, SHIFT(178),
  [35] = {.count = 1, .reusable = true}, SHIFT(101),
  [37] = {.count = 1, .reusable = true}, SHIFT(90),
  [39] = {.count = 1, .reusable = false}, SHIFT(35),
  [41] = {.count = 1, .reusable = false}, SHIFT(84),
  [43] = {.count = 1, .reusable = true}, SHIFT(19),
  [45] = {.count = 1, .reusable = false}, SHIFT(163),
  [47] = {.count = 1, .reusable = true}, SHIFT(16),
  [49] = {.count = 1, .reusable = false}, SHIFT(270),
  [51] = {.count = 1, .reusable = false}, SHIFT(94),
  [53] = {.count = 1, .reusable = true}, SHIFT(292),
  [55] = {.count = 1, .reusable = true}, SHIFT(18),
  [57] = {.count = 1, .reusable = true}, SHIFT(3),
  [59] = {.count = 1, .reusable = false}, SHIFT(577),
  [61] = {.count = 1, .reusable = false}, SHIFT(578),
  [63] = {.count = 1, .reusable = false}, SHIFT(579),
  [65] = {.count = 1, .reusable = false}, SHIFT(219),
  [67] = {.count = 1, .reusable = true}, SHIFT(167),
  [69] = {.count = 1, .reusable = true}, SHIFT(157),
  [71] = {.count = 1, .reusable = false}, SHIFT(95),
  [73] = {.count = 1, .reusable = false}, SHIFT(190),
  [75] = {.count = 1, .reusable = true}, SHIFT(170),
  [77] = {.count = 1, .reusable = true}, SHIFT(226),
  [79] = {.count = 1, .reusable = true}, REDUCE(sym_source_file, 2),
  [81] = {.count = 1, .reusable = true}, SHIFT(206),
  [83] = {.count = 1, .reusable = true}, SHIFT(174),
  [85] = {.count = 1, .reusable = true}, SHIFT(424),
  [87] = {.count = 1, .reusable = true}, SHIFT(130),
  [89] = {.count = 1, .reusable = true}, SHIFT(556),
  [91] = {.count = 1, .reusable = true}, SHIFT(432),
  [93] = {.count = 1, .reusable = true}, SHIFT(548),
  [95] = {.count = 1, .reusable = true}, SHIFT(441),
  [97] = {.count = 1, .reusable = true}, REDUCE(sym_source_file, 1),
  [99] = {.count = 1, .reusable = false}, REDUCE(aux_sym_block_repeat1, 2),
  [101] = {.count = 2, .reusable = true}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(406),
  [104] = {.count = 1, .reusable = true}, REDUCE(aux_sym_block_repeat1, 2),
  [106] = {.count = 2, .reusable = false}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(283),
  [109] = {.count = 2, .reusable = true}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(321),
  [112] = {.count = 1, .reusable = true}, REDUCE(sym_source_file, 3),
  [114] = {.count = 1, .reusable = true}, SHIFT(250),
  [116] = {.count = 1, .reusable = true}, REDUCE(aux_sym_source_file_repeat2, 2),
  [118] = {.count = 2, .reusable = true}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(250),
  [121] = {.count = 2, .reusable = true}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(424),
  [124] = {.count = 2, .reusable = true}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(130),
  [127] = {.count = 2, .reusable = true}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(556),
  [130] = {.count = 2, .reusable = true}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(432),
  [133] = {.count = 2, .reusable = true}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(548),
  [136] = {.count = 2, .reusable = true}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(441),
  [139] = {.count = 1, .reusable = true}, SHIFT(552),
  [141] = {.count = 1, .reusable = true}, REDUCE(sym_expr, 2),
  [143] = {.count = 1, .reusable = true}, SHIFT(20),
  [145] = {.count = 1, .reusable = true}, SHIFT(348),
  [147] = {.count = 1, .reusable = true}, SHIFT(344),
  [149] = {.count = 1, .reusable = true}, SHIFT(331),
  [151] = {.count = 2, .reusable = true}, REDUCE(aux_sym_expr_repeat2, 2), SHIFT_REPEAT(552),
  [154] = {.count = 1, .reusable = true}, REDUCE(aux_sym_expr_repeat2, 2),
  [156] = {.count = 2, .reusable = true}, REDUCE(aux_sym_expr_repeat2, 2), SHIFT_REPEAT(20),
  [159] = {.count = 2, .reusable = true}, REDUCE(aux_sym_expr_repeat2, 2), SHIFT_REPEAT(348),
  [162] = {.count = 2, .reusable = true}, REDUCE(aux_sym_expr_repeat2, 2), SHIFT_REPEAT(344),
  [165] = {.count = 2, .reusable = true}, REDUCE(aux_sym_expr_repeat2, 2), SHIFT_REPEAT(331),
  [168] = {.count = 1, .reusable = true}, REDUCE(sym_expr, 1),
  [170] = {.count = 1, .reusable = true}, REDUCE(sym_expr, 3),
  [172] = {.count = 1, .reusable = false}, REDUCE(sym_binding_plain, 5),
  [174] = {.count = 1, .reusable = true}, REDUCE(sym_binding_plain, 5),
  [176] = {.count = 1, .reusable = false}, REDUCE(sym_binding_cps, 5),
  [178] = {.count = 1, .reusable = true}, REDUCE(sym_binding_cps, 5),
  [180] = {.count = 1, .reusable = false}, REDUCE(sym_binding_cps, 6),
  [182] = {.count = 1, .reusable = true}, REDUCE(sym_binding_cps, 6),
  [184] = {.count = 1, .reusable = false}, REDUCE(sym_binding, 1),
  [186] = {.count = 1, .reusable = true}, REDUCE(sym_binding, 1),
  [188] = {.count = 1, .reusable = false}, REDUCE(sym_binding_plain, 6),
  [190] = {.count = 1, .reusable = true}, REDUCE(sym_binding_plain, 6),
  [192] = {.count = 1, .reusable = false}, REDUCE(sym_binding_cps, 4),
  [194] = {.count = 1, .reusable = true}, REDUCE(sym_binding_cps, 4),
  [196] = {.count = 1, .reusable = false}, REDUCE(sym_expr, 1),
  [198] = {.count = 1, .reusable = true}, SHIFT(562),
  [200] = {.count = 1, .reusable = true}, SHIFT(21),
  [202] = {.count = 1, .reusable = true}, SHIFT(388),
  [204] = {.count = 1, .reusable = true}, SHIFT(386),
  [206] = {.count = 1, .reusable = true}, SHIFT(327),
  [208] = {.count = 1, .reusable = false}, REDUCE(aux_sym_expr_repeat2, 2),
  [210] = {.count = 2, .reusable = true}, REDUCE(aux_sym_expr_repeat2, 2), SHIFT_REPEAT(562),
  [213] = {.count = 2, .reusable = true}, REDUCE(aux_sym_expr_repeat2, 2), SHIFT_REPEAT(21),
  [216] = {.count = 2, .reusable = true}, REDUCE(aux_sym_expr_repeat2, 2), SHIFT_REPEAT(388),
  [219] = {.count = 2, .reusable = true}, REDUCE(aux_sym_expr_repeat2, 2), SHIFT_REPEAT(386),
  [222] = {.count = 2, .reusable = true}, REDUCE(aux_sym_expr_repeat2, 2), SHIFT_REPEAT(327),
  [225] = {.count = 1, .reusable = false}, REDUCE(sym_expr, 3),
  [227] = {.count = 1, .reusable = false}, REDUCE(sym_expr, 2),
  [229] = {.count = 1, .reusable = true}, SHIFT(438),
  [231] = {.count = 1, .reusable = true}, SHIFT(319),
  [233] = {.count = 1, .reusable = true}, SHIFT(150),
  [235] = {.count = 1, .reusable = true}, SHIFT(434),
  [237] = {.count = 1, .reusable = true}, SHIFT(555),
  [239] = {.count = 1, .reusable = true}, SHIFT(567),
  [241] = {.count = 1, .reusable = true}, SHIFT(569),
  [243] = {.count = 1, .reusable = true}, SHIFT(515),
  [245] = {.count = 1, .reusable = false}, REDUCE(sym_ref_base, 1),
  [247] = {.count = 1, .reusable = true}, REDUCE(sym_ref_base, 1),
  [249] = {.count = 1, .reusable = false}, REDUCE(aux_sym_expr_repeat1, 2),
  [251] = {.count = 2, .reusable = true}, REDUCE(aux_sym_expr_repeat1, 2), SHIFT_REPEAT(546),
  [254] = {.count = 1, .reusable = true}, REDUCE(aux_sym_expr_repeat1, 2),
  [256] = {.count = 1, .reusable = false}, REDUCE(sym_ref, 1),
  [258] = {.count = 1, .reusable = true}, SHIFT(232),
  [260] = {.count = 1, .reusable = true}, REDUCE(sym_ref, 1),
  [262] = {.count = 1, .reusable = false}, REDUCE(sym_ref_base, 2),
  [264] = {.count = 1, .reusable = true}, REDUCE(sym_ref_base, 2),
  [266] = {.count = 1, .reusable = false}, REDUCE(sym_type_args, 2),
  [268] = {.count = 1, .reusable = true}, REDUCE(sym_type_args, 2),
  [270] = {.count = 1, .reusable = true}, SHIFT(454),
  [272] = {.count = 1, .reusable = false}, REDUCE(sym_type_args, 4),
  [274] = {.count = 1, .reusable = true}, REDUCE(sym_type_args, 4),
  [276] = {.count = 1, .reusable = true}, SHIFT(216),
  [278] = {.count = 1, .reusable = false}, REDUCE(sym_cond_pattern, 3),
  [280] = {.count = 1, .reusable = true}, REDUCE(sym_cond_pattern, 3),
  [282] = {.count = 1, .reusable = false}, REDUCE(sym_type_args, 3),
  [284] = {.count = 1, .reusable = true}, REDUCE(sym_type_args, 3),
  [286] = {.count = 1, .reusable = false}, REDUCE(sym_operator, 1),
  [288] = {.count = 1, .reusable = true}, REDUCE(sym_operator, 1),
  [290] = {.count = 1, .reusable = false}, REDUCE(sym_ref, 2),
  [292] = {.count = 1, .reusable = true}, REDUCE(sym_ref, 2),
  [294] = {.count = 1, .reusable = true}, REDUCE(aux_sym_source_file_repeat1, 2),
  [296] = {.count = 2, .reusable = true}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(476),
  [299] = {.count = 2, .reusable = true}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(174),
  [302] = {.count = 1, .reusable = false}, REDUCE(sym_cast, 5),
  [304] = {.count = 1, .reusable = true}, REDUCE(sym_cast, 5),
  [306] = {.count = 1, .reusable = false}, REDUCE(sym_cps_pattern, 2),
  [308] = {.count = 1, .reusable = true}, REDUCE(sym_cps_pattern, 2),
  [310] = {.count = 1, .reusable = true}, REDUCE(sym_string, 1),
  [312] = {.count = 1, .reusable = false}, REDUCE(sym_string, 1),
  [314] = {.count = 1, .reusable = true}, SHIFT(355),
  [316] = {.count = 1, .reusable = true}, REDUCE(sym_string, 2),
  [318] = {.count = 1, .reusable = false}, REDUCE(sym_string, 2),
  [320] = {.count = 1, .reusable = true}, REDUCE(aux_sym_string_repeat1, 2),
  [322] = {.count = 1, .reusable = false}, REDUCE(aux_sym_string_repeat1, 2),
  [324] = {.count = 2, .reusable = true}, REDUCE(aux_sym_string_repeat1, 2), SHIFT_REPEAT(355),
  [327] = {.count = 1, .reusable = true}, SHIFT(542),
  [329] = {.count = 1, .reusable = true}, SHIFT(530),
  [331] = {.count = 1, .reusable = true}, SHIFT(467),
  [333] = {.count = 1, .reusable = true}, REDUCE(sym_alias, 4),
  [335] = {.count = 1, .reusable = true}, REDUCE(sym_block, 3),
  [337] = {.count = 1, .reusable = true}, REDUCE(sym_bytes, 1),
  [339] = {.count = 1, .reusable = true}, SHIFT(115),
  [341] = {.count = 1, .reusable = true}, REDUCE(sym_alias_to_ns, 2),
  [343] = {.count = 1, .reusable = true}, REDUCE(sym_block, 4),
  [345] = {.count = 1, .reusable = true}, REDUCE(sym_alias, 3),
  [347] = {.count = 1, .reusable = true}, REDUCE(sym_ns, 2),
  [349] = {.count = 1, .reusable = true}, SHIFT(221),
  [351] = {.count = 1, .reusable = true}, REDUCE(sym_alias_to_ref_base, 1),
  [353] = {.count = 1, .reusable = true}, REDUCE(sym_pattern_single, 1),
  [355] = {.count = 1, .reusable = true}, REDUCE(sym_alias_target, 1),
  [357] = {.count = 1, .reusable = true}, REDUCE(sym_alias, 2),
  [359] = {.count = 1, .reusable = true}, REDUCE(aux_sym_bytes_repeat1, 2),
  [361] = {.count = 2, .reusable = true}, REDUCE(aux_sym_bytes_repeat1, 2), SHIFT_REPEAT(115),
  [364] = {.count = 1, .reusable = true}, REDUCE(sym_ns, 3),
  [366] = {.count = 1, .reusable = true}, REDUCE(sym_decl_method, 7),
  [368] = {.count = 1, .reusable = true}, SHIFT(392),
  [370] = {.count = 1, .reusable = true}, REDUCE(sym_stmt, 1),
  [372] = {.count = 1, .reusable = true}, REDUCE(sym_decl_func, 7),
  [374] = {.count = 1, .reusable = true}, REDUCE(sym_decl_type, 7),
  [376] = {.count = 1, .reusable = true}, REDUCE(sym_string_part, 2),
  [378] = {.count = 1, .reusable = false}, REDUCE(sym_string_part, 2),
  [380] = {.count = 1, .reusable = true}, REDUCE(sym_string_part_content, 1),
  [382] = {.count = 1, .reusable = false}, REDUCE(sym_string_part_content, 1),
  [384] = {.count = 1, .reusable = true}, REDUCE(sym_native_body, 4),
  [386] = {.count = 1, .reusable = true}, REDUCE(sym_docs, 1),
  [388] = {.count = 1, .reusable = true}, SHIFT(140),
  [390] = {.count = 1, .reusable = true}, REDUCE(sym_enum, 5),
  [392] = {.count = 1, .reusable = true}, REDUCE(sym_union, 5),
  [394] = {.count = 1, .reusable = true}, REDUCE(sym_interface, 5),
  [396] = {.count = 1, .reusable = true}, REDUCE(sym_decl_func, 6),
  [398] = {.count = 1, .reusable = true}, REDUCE(sym_decl_type, 6),
  [400] = {.count = 1, .reusable = true}, REDUCE(sym_decl_method, 8),
  [402] = {.count = 1, .reusable = true}, REDUCE(sym_decl_entry, 2),
  [404] = {.count = 1, .reusable = true}, REDUCE(sym_interface, 3),
  [406] = {.count = 1, .reusable = true}, REDUCE(aux_sym_docs_repeat1, 2),
  [408] = {.count = 2, .reusable = true}, REDUCE(aux_sym_docs_repeat1, 2), SHIFT_REPEAT(140),
  [411] = {.count = 1, .reusable = true}, REDUCE(sym_decl_entry, 3),
  [413] = {.count = 1, .reusable = true}, REDUCE(sym_record_def, 4),
  [415] = {.count = 1, .reusable = true}, REDUCE(sym_record_def, 3),
  [417] = {.count = 2, .reusable = true}, REDUCE(aux_sym_string_repeat1, 2), SHIFT_REPEAT(392),
  [420] = {.count = 1, .reusable = true}, REDUCE(sym_decl_const, 5),
  [422] = {.count = 1, .reusable = true}, REDUCE(sym_record_def, 2),
  [424] = {.count = 1, .reusable = true}, REDUCE(sym_decl_type, 4),
  [426] = {.count = 1, .reusable = true}, REDUCE(sym_decl_func, 5),
  [428] = {.count = 1, .reusable = true}, REDUCE(sym_decl_type, 5),
  [430] = {.count = 1, .reusable = true}, REDUCE(sym_type_def, 1),
  [432] = {.count = 1, .reusable = true}, REDUCE(sym_decl_entry, 4),
  [434] = {.count = 1, .reusable = true}, REDUCE(sym_decl_const, 4),
  [436] = {.count = 1, .reusable = true}, REDUCE(sym_interface, 4),
  [438] = {.count = 1, .reusable = true}, REDUCE(sym_union, 4),
  [440] = {.count = 1, .reusable = true}, REDUCE(sym_enum, 4),
  [442] = {.count = 1, .reusable = true}, REDUCE(sym_record, 2),
  [444] = {.count = 1, .reusable = true}, REDUCE(sym_decl_func, 4),
  [446] = {.count = 1, .reusable = true}, REDUCE(sym_decl_type, 3),
  [448] = {.count = 1, .reusable = true}, REDUCE(sym_decl_const, 6),
  [450] = {.count = 1, .reusable = true}, REDUCE(sym_body, 1),
  [452] = {.count = 1, .reusable = true}, REDUCE(sym_decl_method, 6),
  [454] = {.count = 1, .reusable = true}, REDUCE(sym_if, 8),
  [456] = {.count = 1, .reusable = true}, SHIFT(238),
  [458] = {.count = 1, .reusable = false}, REDUCE(sym_bytes, 1),
  [460] = {.count = 1, .reusable = true}, SHIFT(179),
  [462] = {.count = 1, .reusable = true}, REDUCE(sym_if_no, 1),
  [464] = {.count = 1, .reusable = true}, REDUCE(sym_lambda, 5),
  [466] = {.count = 1, .reusable = true}, REDUCE(sym_call_ordered, 2),
  [468] = {.count = 1, .reusable = true}, REDUCE(sym_pipe_infix, 3),
  [470] = {.count = 1, .reusable = true}, REDUCE(sym_if, 7),
  [472] = {.count = 1, .reusable = true}, REDUCE(sym_call_unordered, 3),
  [474] = {.count = 1, .reusable = false}, SHIFT(536),
  [476] = {.count = 1, .reusable = false}, SHIFT(77),
  [478] = {.count = 1, .reusable = true}, REDUCE(sym_if, 9),
  [480] = {.count = 1, .reusable = true}, REDUCE(sym_ref_term, 1),
  [482] = {.count = 1, .reusable = true}, REDUCE(sym_call_ordered, 3),
  [484] = {.count = 1, .reusable = true}, REDUCE(sym_term, 1),
  [486] = {.count = 1, .reusable = false}, REDUCE(aux_sym_bytes_repeat1, 2),
  [488] = {.count = 2, .reusable = true}, REDUCE(aux_sym_bytes_repeat1, 2), SHIFT_REPEAT(179),
  [491] = {.count = 1, .reusable = true}, REDUCE(sym_each, 8),
  [493] = {.count = 1, .reusable = true}, REDUCE(sym_when, 8),
  [495] = {.count = 1, .reusable = false}, SHIFT(561),
  [497] = {.count = 1, .reusable = true}, SHIFT(541),
  [499] = {.count = 1, .reusable = true}, SHIFT(505),
  [501] = {.count = 1, .reusable = false}, SHIFT(36),
  [503] = {.count = 1, .reusable = true}, REDUCE(sym_ref_term, 2),
  [505] = {.count = 1, .reusable = true}, REDUCE(sym_when, 7),
  [507] = {.count = 1, .reusable = false}, SHIFT(25),
  [509] = {.count = 1, .reusable = true}, REDUCE(sym_lambda, 6),
  [511] = {.count = 1, .reusable = true}, REDUCE(sym_pipe_call, 1),
  [513] = {.count = 1, .reusable = true}, REDUCE(sym_pipe, 1),
  [515] = {.count = 1, .reusable = true}, REDUCE(sym_infix_term, 5),
  [517] = {.count = 1, .reusable = true}, REDUCE(sym_lambda, 4),
  [519] = {.count = 1, .reusable = true}, REDUCE(sym_each, 7),
  [521] = {.count = 1, .reusable = true}, REDUCE(sym_pipe_interior, 4),
  [523] = {.count = 1, .reusable = true}, REDUCE(sym_pipe_infix, 4),
  [525] = {.count = 1, .reusable = true}, REDUCE(sym_call_unordered, 2),
  [527] = {.count = 1, .reusable = true}, REDUCE(sym_call_ordered, 4),
  [529] = {.count = 1, .reusable = true}, REDUCE(sym_pipe_get, 2),
  [531] = {.count = 1, .reusable = false}, SHIFT(32),
  [533] = {.count = 1, .reusable = true}, REDUCE(sym_call_unordered, 4),
  [535] = {.count = 1, .reusable = true}, REDUCE(sym_pipe_cast, 2),
  [537] = {.count = 1, .reusable = true}, REDUCE(sym_type_params, 3),
  [539] = {.count = 1, .reusable = false}, SHIFT(96),
  [541] = {.count = 1, .reusable = true}, SHIFT(194),
  [543] = {.count = 1, .reusable = true}, SHIFT(444),
  [545] = {.count = 1, .reusable = true}, SHIFT(540),
  [547] = {.count = 1, .reusable = true}, SHIFT(445),
  [549] = {.count = 1, .reusable = true}, SHIFT(538),
  [551] = {.count = 1, .reusable = true}, SHIFT(447),
  [553] = {.count = 1, .reusable = true}, SHIFT(247),
  [555] = {.count = 1, .reusable = true}, REDUCE(sym_type, 1),
  [557] = {.count = 1, .reusable = true}, REDUCE(sym_type_params, 2),
  [559] = {.count = 1, .reusable = true}, REDUCE(sym_type_params, 4),
  [561] = {.count = 1, .reusable = true}, SHIFT(118),
  [563] = {.count = 1, .reusable = false}, SHIFT(273),
  [565] = {.count = 1, .reusable = false}, SHIFT(417),
  [567] = {.count = 1, .reusable = true}, SHIFT(139),
  [569] = {.count = 1, .reusable = false}, REDUCE(sym_term, 1),
  [571] = {.count = 1, .reusable = false}, REDUCE(sym_ref_term, 1),
  [573] = {.count = 1, .reusable = false}, SHIFT(293),
  [575] = {.count = 1, .reusable = true}, SHIFT(461),
  [577] = {.count = 1, .reusable = false}, REDUCE(sym_pipe, 1),
  [579] = {.count = 1, .reusable = false}, REDUCE(sym_pipe_call, 1),
  [581] = {.count = 1, .reusable = false}, REDUCE(sym_ref_term, 2),
  [583] = {.count = 1, .reusable = false}, REDUCE(sym_call_ordered, 2),
  [585] = {.count = 1, .reusable = false}, REDUCE(sym_call_unordered, 2),
  [587] = {.count = 1, .reusable = false}, REDUCE(sym_pipe_get, 2),
  [589] = {.count = 1, .reusable = false}, REDUCE(sym_pipe_cast, 2),
  [591] = {.count = 1, .reusable = false}, REDUCE(sym_lambda, 4),
  [593] = {.count = 1, .reusable = true}, SHIFT(76),
  [595] = {.count = 1, .reusable = false}, REDUCE(sym_call_ordered, 3),
  [597] = {.count = 1, .reusable = false}, REDUCE(sym_call_unordered, 3),
  [599] = {.count = 1, .reusable = false}, REDUCE(sym_pipe_infix, 3),
  [601] = {.count = 1, .reusable = false}, REDUCE(sym_infix_term, 5),
  [603] = {.count = 1, .reusable = true}, SHIFT(225),
  [605] = {.count = 1, .reusable = true}, SHIFT(146),
  [607] = {.count = 1, .reusable = false}, REDUCE(sym_lambda, 5),
  [609] = {.count = 1, .reusable = false}, REDUCE(sym_block, 4),
  [611] = {.count = 1, .reusable = false}, REDUCE(sym_pipe_infix, 4),
  [613] = {.count = 1, .reusable = false}, REDUCE(sym_call_ordered, 4),
  [615] = {.count = 1, .reusable = false}, REDUCE(sym_call_unordered, 4),
  [617] = {.count = 1, .reusable = true}, SHIFT(420),
  [619] = {.count = 1, .reusable = true}, SHIFT(550),
  [621] = {.count = 1, .reusable = true}, SHIFT(446),
  [623] = {.count = 1, .reusable = true}, SHIFT(537),
  [625] = {.count = 1, .reusable = true}, SHIFT(456),
  [627] = {.count = 1, .reusable = false}, REDUCE(sym_block, 3),
  [629] = {.count = 1, .reusable = false}, REDUCE(sym_pipe_interior, 4),
  [631] = {.count = 1, .reusable = false}, REDUCE(sym_lambda, 6),
  [633] = {.count = 1, .reusable = false}, REDUCE(sym_if, 7),
  [635] = {.count = 1, .reusable = false}, REDUCE(sym_if_no, 1),
  [637] = {.count = 1, .reusable = false}, REDUCE(sym_if, 9),
  [639] = {.count = 1, .reusable = false}, REDUCE(sym_when, 7),
  [641] = {.count = 1, .reusable = false}, REDUCE(sym_each, 8),
  [643] = {.count = 1, .reusable = false}, REDUCE(sym_when, 8),
  [645] = {.count = 1, .reusable = false}, REDUCE(sym_if, 8),
  [647] = {.count = 1, .reusable = false}, REDUCE(sym_each, 7),
  [649] = {.count = 1, .reusable = false}, SHIFT(523),
  [651] = {.count = 1, .reusable = true}, SHIFT(524),
  [653] = {.count = 1, .reusable = true}, REDUCE(sym_impl, 3),
  [655] = {.count = 1, .reusable = true}, SHIFT(576),
  [657] = {.count = 1, .reusable = true}, SHIFT(5),
  [659] = {.count = 1, .reusable = true}, REDUCE(sym_impl, 2),
  [661] = {.count = 1, .reusable = false}, SHIFT(462),
  [663] = {.count = 1, .reusable = false}, SHIFT(70),
  [665] = {.count = 1, .reusable = true}, REDUCE(sym_impl, 4),
  [667] = {.count = 1, .reusable = false}, REDUCE(aux_sym_case_repeat1, 2),
  [669] = {.count = 1, .reusable = true}, REDUCE(aux_sym_case_repeat1, 2),
  [671] = {.count = 2, .reusable = true}, REDUCE(aux_sym_case_repeat1, 2), SHIFT_REPEAT(505),
  [674] = {.count = 1, .reusable = true}, SHIFT(521),
  [676] = {.count = 1, .reusable = true}, SHIFT(368),
  [678] = {.count = 1, .reusable = true}, REDUCE(sym_arg_mapping, 1),
  [680] = {.count = 1, .reusable = true}, SHIFT(41),
  [682] = {.count = 1, .reusable = true}, SHIFT(369),
  [684] = {.count = 1, .reusable = true}, REDUCE(sym_field, 3),
  [686] = {.count = 1, .reusable = true}, SHIFT(43),
  [688] = {.count = 1, .reusable = true}, SHIFT(365),
  [690] = {.count = 2, .reusable = true}, REDUCE(aux_sym_if_repeat2, 2), SHIFT_REPEAT(521),
  [693] = {.count = 1, .reusable = true}, REDUCE(aux_sym_if_repeat2, 2),
  [695] = {.count = 2, .reusable = true}, REDUCE(aux_sym_type_params_repeat1, 2), SHIFT_REPEAT(542),
  [698] = {.count = 1, .reusable = true}, REDUCE(aux_sym_type_params_repeat1, 2),
  [700] = {.count = 1, .reusable = true}, SHIFT(333),
  [702] = {.count = 1, .reusable = true}, SHIFT(268),
  [704] = {.count = 1, .reusable = true}, SHIFT(361),
  [706] = {.count = 1, .reusable = true}, SHIFT(381),
  [708] = {.count = 2, .reusable = true}, REDUCE(aux_sym_union_repeat1, 2), SHIFT_REPEAT(277),
  [711] = {.count = 1, .reusable = true}, REDUCE(aux_sym_union_repeat1, 2),
  [713] = {.count = 1, .reusable = true}, SHIFT(303),
  [715] = {.count = 1, .reusable = true}, REDUCE(sym_field, 2),
  [717] = {.count = 1, .reusable = true}, SHIFT(296),
  [719] = {.count = 1, .reusable = true}, SHIFT(8),
  [721] = {.count = 1, .reusable = true}, SHIFT(38),
  [723] = {.count = 1, .reusable = true}, SHIFT(245),
  [725] = {.count = 1, .reusable = true}, SHIFT(14),
  [727] = {.count = 1, .reusable = true}, SHIFT(401),
  [729] = {.count = 1, .reusable = true}, SHIFT(343),
  [731] = {.count = 2, .reusable = true}, REDUCE(aux_sym_if_repeat1, 2), SHIFT_REPEAT(14),
  [734] = {.count = 1, .reusable = true}, REDUCE(aux_sym_if_repeat1, 2),
  [736] = {.count = 1, .reusable = false}, SHIFT(200),
  [738] = {.count = 1, .reusable = true}, SHIFT(516),
  [740] = {.count = 1, .reusable = true}, SHIFT(346),
  [742] = {.count = 1, .reusable = false}, SHIFT(199),
  [744] = {.count = 1, .reusable = true}, SHIFT(326),
  [746] = {.count = 2, .reusable = true}, REDUCE(aux_sym_call_ordered_repeat1, 2), SHIFT_REPEAT(38),
  [749] = {.count = 1, .reusable = true}, REDUCE(aux_sym_call_ordered_repeat1, 2),
  [751] = {.count = 1, .reusable = true}, SHIFT(27),
  [753] = {.count = 1, .reusable = false}, SHIFT(308),
  [755] = {.count = 1, .reusable = true}, SHIFT(197),
  [757] = {.count = 2, .reusable = true}, REDUCE(aux_sym_call_unordered_repeat1, 2), SHIFT_REPEAT(450),
  [760] = {.count = 1, .reusable = true}, REDUCE(aux_sym_call_unordered_repeat1, 2),
  [762] = {.count = 1, .reusable = true}, SHIFT(277),
  [764] = {.count = 1, .reusable = true}, SHIFT(109),
  [766] = {.count = 1, .reusable = true}, SHIFT(177),
  [768] = {.count = 2, .reusable = true}, REDUCE(aux_sym_interface_repeat1, 2), SHIFT_REPEAT(299),
  [771] = {.count = 1, .reusable = true}, REDUCE(aux_sym_interface_repeat1, 2),
  [773] = {.count = 1, .reusable = true}, SHIFT(128),
  [775] = {.count = 1, .reusable = true}, SHIFT(450),
  [777] = {.count = 1, .reusable = true}, SHIFT(173),
  [779] = {.count = 1, .reusable = true}, SHIFT(78),
  [781] = {.count = 2, .reusable = true}, REDUCE(aux_sym_enum_repeat1, 2), SHIFT_REPEAT(305),
  [784] = {.count = 1, .reusable = true}, REDUCE(aux_sym_enum_repeat1, 2),
  [786] = {.count = 1, .reusable = true}, SHIFT(81),
  [788] = {.count = 1, .reusable = true}, SHIFT(213),
  [790] = {.count = 1, .reusable = true}, SHIFT(7),
  [792] = {.count = 1, .reusable = true}, SHIFT(389),
  [794] = {.count = 1, .reusable = true}, SHIFT(259),
  [796] = {.count = 1, .reusable = true}, SHIFT(260),
  [798] = {.count = 1, .reusable = true}, SHIFT(373),
  [800] = {.count = 1, .reusable = true}, SHIFT(264),
  [802] = {.count = 1, .reusable = true}, SHIFT(262),
  [804] = {.count = 1, .reusable = true}, SHIFT(258),
  [806] = {.count = 1, .reusable = true}, SHIFT(246),
  [808] = {.count = 1, .reusable = true}, SHIFT(203),
  [810] = {.count = 1, .reusable = true}, SHIFT(40),
  [812] = {.count = 1, .reusable = true}, SHIFT(184),
  [814] = {.count = 1, .reusable = true}, SHIFT(193),
  [816] = {.count = 1, .reusable = true}, SHIFT(241),
  [818] = {.count = 1, .reusable = true}, SHIFT(474),
  [820] = {.count = 1, .reusable = true}, SHIFT(297),
  [822] = {.count = 1, .reusable = true}, SHIFT(142),
  [824] = {.count = 1, .reusable = true}, SHIFT(295),
  [826] = {.count = 1, .reusable = true}, SHIFT(234),
  [828] = {.count = 1, .reusable = true}, SHIFT(233),
  [830] = {.count = 1, .reusable = true}, SHIFT(231),
  [832] = {.count = 1, .reusable = true}, SHIFT(143),
  [834] = {.count = 1, .reusable = false}, SHIFT(228),
  [836] = {.count = 1, .reusable = true}, SHIFT(332),
  [838] = {.count = 1, .reusable = true}, SHIFT(418),
  [840] = {.count = 1, .reusable = true}, SHIFT(227),
  [842] = {.count = 1, .reusable = true}, SHIFT(299),
  [844] = {.count = 1, .reusable = true}, SHIFT(153),
  [846] = {.count = 1, .reusable = true}, SHIFT(181),
  [848] = {.count = 1, .reusable = true}, SHIFT(210),
  [850] = {.count = 1, .reusable = true}, SHIFT(180),
  [852] = {.count = 1, .reusable = true}, SHIFT(448),
  [854] = {.count = 2, .reusable = true}, REDUCE(aux_sym_record_def_repeat1, 2), SHIFT_REPEAT(297),
  [857] = {.count = 1, .reusable = true}, REDUCE(aux_sym_record_def_repeat1, 2),
  [859] = {.count = 1, .reusable = true}, SHIFT(154),
  [861] = {.count = 1, .reusable = true}, SHIFT(305),
  [863] = {.count = 1, .reusable = true}, SHIFT(155),
  [865] = {.count = 1, .reusable = true}, SHIFT(464),
  [867] = {.count = 1, .reusable = true}, SHIFT(459),
  [869] = {.count = 1, .reusable = true}, SHIFT(337),
  [871] = {.count = 1, .reusable = true}, SHIFT(98),
  [873] = {.count = 1, .reusable = true}, SHIFT(198),
  [875] = {.count = 2, .reusable = true}, REDUCE(aux_sym_when_repeat1, 2), SHIFT_REPEAT(389),
  [878] = {.count = 1, .reusable = true}, REDUCE(aux_sym_when_repeat1, 2),
  [880] = {.count = 1, .reusable = true}, SHIFT(263),
  [882] = {.count = 1, .reusable = true}, SHIFT(315),
  [884] = {.count = 1, .reusable = true}, SHIFT(201),
  [886] = {.count = 1, .reusable = true}, SHIFT(427),
  [888] = {.count = 1, .reusable = false}, REDUCE(sym_new, 1),
  [890] = {.count = 1, .reusable = true}, SHIFT(507),
  [892] = {.count = 2, .reusable = true}, REDUCE(aux_sym_impl_repeat1, 2), SHIFT_REPEAT(373),
  [895] = {.count = 1, .reusable = true}, REDUCE(aux_sym_impl_repeat1, 2),
  [897] = {.count = 1, .reusable = true}, SHIFT(133),
  [899] = {.count = 1, .reusable = true}, SHIFT(132),
  [901] = {.count = 1, .reusable = true}, SHIFT(131),
  [903] = {.count = 1, .reusable = false}, REDUCE(aux_sym_docs_repeat1, 2),
  [905] = {.count = 2, .reusable = false}, REDUCE(aux_sym_docs_repeat1, 2), SHIFT_REPEAT(416),
  [908] = {.count = 1, .reusable = false}, REDUCE(sym_docs, 1),
  [910] = {.count = 1, .reusable = false}, SHIFT(416),
  [912] = {.count = 1, .reusable = false}, REDUCE(sym_record_def, 3),
  [914] = {.count = 1, .reusable = true}, REDUCE(sym_elif, 6),
  [916] = {.count = 1, .reusable = true}, REDUCE(sym_if_yes, 1),
  [918] = {.count = 1, .reusable = true}, REDUCE(sym_case, 5),
  [920] = {.count = 1, .reusable = false}, REDUCE(sym_inputs, 1),
  [922] = {.count = 1, .reusable = true}, REDUCE(sym_inputs, 1),
  [924] = {.count = 1, .reusable = true}, REDUCE(sym_enum_item, 2),
  [926] = {.count = 1, .reusable = true}, REDUCE(sym_elif, 5),
  [928] = {.count = 1, .reusable = true}, REDUCE(sym_arg_mapping_to, 2),
  [930] = {.count = 1, .reusable = false}, SHIFT(236),
  [932] = {.count = 1, .reusable = false}, SHIFT(494),
  [934] = {.count = 1, .reusable = true}, REDUCE(sym_method, 3),
  [936] = {.count = 1, .reusable = true}, SHIFT(239),
  [938] = {.count = 1, .reusable = true}, REDUCE(sym_sig, 2),
  [940] = {.count = 1, .reusable = true}, REDUCE(sym_method, 2),
  [942] = {.count = 1, .reusable = false}, SHIFT(371),
  [944] = {.count = 1, .reusable = true}, SHIFT(212),
  [946] = {.count = 1, .reusable = false}, SHIFT(492),
  [948] = {.count = 1, .reusable = true}, REDUCE(sym_case, 4),
  [950] = {.count = 1, .reusable = true}, REDUCE(sym_output, 1),
  [952] = {.count = 1, .reusable = false}, SHIFT(251),
  [954] = {.count = 1, .reusable = false}, SHIFT(488),
  [956] = {.count = 1, .reusable = false}, SHIFT(218),
  [958] = {.count = 1, .reusable = false}, SHIFT(549),
  [960] = {.count = 1, .reusable = true}, REDUCE(sym_cond, 1),
  [962] = {.count = 1, .reusable = true}, SHIFT(105),
  [964] = {.count = 1, .reusable = false}, SHIFT(574),
  [966] = {.count = 1, .reusable = true}, REDUCE(sym_arg_mapping, 2),
  [968] = {.count = 1, .reusable = true}, REDUCE(sym_field, 4),
  [970] = {.count = 1, .reusable = false}, REDUCE(sym_alias_name, 2),
  [972] = {.count = 1, .reusable = true}, REDUCE(sym_pattern, 1),
  [974] = {.count = 1, .reusable = true}, REDUCE(sym_case, 6),
  [976] = {.count = 1, .reusable = true}, REDUCE(sym_pattern_multiple, 4),
  [978] = {.count = 1, .reusable = true}, REDUCE(sym_field_default, 3),
  [980] = {.count = 1, .reusable = false}, REDUCE(sym_record_def, 2),
  [982] = {.count = 1, .reusable = true}, REDUCE(sym_enum_item, 1),
  [984] = {.count = 1, .reusable = true}, REDUCE(sym_case, 3),
  [986] = {.count = 1, .reusable = false}, REDUCE(sym_record_def, 4),
  [988] = {.count = 1, .reusable = true}, REDUCE(sym_sig, 4),
  [990] = {.count = 1, .reusable = true}, REDUCE(sym_cond, 2),
  [992] = {.count = 1, .reusable = true}, REDUCE(sym_pattern_multiple, 3),
  [994] = {.count = 1, .reusable = true}, REDUCE(sym_sig, 3),
  [996] = {.count = 1, .reusable = true}, SHIFT(489),
  [998] = {.count = 1, .reusable = true}, SHIFT(186),
  [1000] = {.count = 1, .reusable = true}, SHIFT(340),
  [1002] = {.count = 1, .reusable = true}, SHIFT(339),
  [1004] = {.count = 1, .reusable = true}, SHIFT(192),
  [1006] = {.count = 1, .reusable = true}, SHIFT(80),
  [1008] = {.count = 1, .reusable = true}, SHIFT(57),
  [1010] = {.count = 1, .reusable = true}, REDUCE(sym_lambda_self, 2),
  [1012] = {.count = 1, .reusable = true}, SHIFT(169),
  [1014] = {.count = 1, .reusable = true}, SHIFT(42),
  [1016] = {.count = 1, .reusable = true}, SHIFT(36),
  [1018] = {.count = 1, .reusable = true}, SHIFT(189),
  [1020] = {.count = 1, .reusable = true}, REDUCE(sym_infix_right, 1),
  [1022] = {.count = 1, .reusable = true}, SHIFT(88),
  [1024] = {.count = 1, .reusable = true}, SHIFT(58),
  [1026] = {.count = 1, .reusable = false}, SHIFT(289),
  [1028] = {.count = 1, .reusable = true}, SHIFT(499),
  [1030] = {.count = 1, .reusable = true}, SHIFT(506),
  [1032] = {.count = 1, .reusable = true}, REDUCE(sym_receiver, 1),
  [1034] = {.count = 1, .reusable = false}, SHIFT(426),
  [1036] = {.count = 1, .reusable = false}, SHIFT(93),
  [1038] = {.count = 1, .reusable = true}, SHIFT(100),
  [1040] = {.count = 1, .reusable = false}, SHIFT(278),
  [1042] = {.count = 1, .reusable = false}, SHIFT(274),
  [1044] = {.count = 1, .reusable = true}, SHIFT(129),
  [1046] = {.count = 1, .reusable = true}, SHIFT(25),
  [1048] = {.count = 1, .reusable = true}, SHIFT(103),
  [1050] = {.count = 1, .reusable = false}, SHIFT(269),
  [1052] = {.count = 1, .reusable = false}, SHIFT(99),
  [1054] = {.count = 1, .reusable = true}, SHIFT(230),
  [1056] = {.count = 1, .reusable = false}, SHIFT(311),
  [1058] = {.count = 1, .reusable = false}, SHIFT(290),
  [1060] = {.count = 1, .reusable = false}, SHIFT(553),
  [1062] = {.count = 1, .reusable = false}, REDUCE(sym_infix_left, 1),
  [1064] = {.count = 1, .reusable = true}, SHIFT(61),
  [1066] = {.count = 1, .reusable = false}, SHIFT(480),
  [1068] = {.count = 1, .reusable = true}, SHIFT(165),
  [1070] = {.count = 1, .reusable = true}, SHIFT(237),
  [1072] = {.count = 1, .reusable = true}, SHIFT(240),
  [1074] = {.count = 1, .reusable = false}, REDUCE(sym_ns_prefix, 2),
  [1076] = {.count = 1, .reusable = false}, SHIFT(185),
  [1078] = {.count = 1, .reusable = true}, SHIFT(59),
  [1080] = {.count = 1, .reusable = true}, SHIFT(486),
  [1082] = {.count = 1, .reusable = true}, SHIFT(252),
  [1084] = {.count = 1, .reusable = true}, SHIFT(254),
  [1086] = {.count = 1, .reusable = true}, SHIFT(13),
  [1088] = {.count = 1, .reusable = true}, SHIFT(24),
  [1090] = {.count = 1, .reusable = false}, SHIFT(396),
  [1092] = {.count = 1, .reusable = true}, SHIFT(34),
  [1094] = {.count = 1, .reusable = true}, SHIFT(497),
  [1096] = {.count = 1, .reusable = true}, SHIFT(15),
  [1098] = {.count = 1, .reusable = false}, SHIFT(207),
  [1100] = {.count = 1, .reusable = true}, SHIFT(248),
  [1102] = {.count = 1, .reusable = true}, SHIFT(243),
  [1104] = {.count = 1, .reusable = true}, SHIFT(460),
  [1106] = {.count = 1, .reusable = true}, SHIFT(242),
  [1108] = {.count = 1, .reusable = false}, REDUCE(sym_new, 2),
  [1110] = {.count = 1, .reusable = false}, SHIFT(74),
  [1112] = {.count = 1, .reusable = false}, SHIFT(102),
  [1114] = {.count = 1, .reusable = false}, SHIFT(284),
  [1116] = {.count = 1, .reusable = false}, SHIFT(265),
  [1118] = {.count = 1, .reusable = true}, SHIFT(195),
  [1120] = {.count = 1, .reusable = false}, SHIFT(68),
  [1122] = {.count = 1, .reusable = false}, SHIFT(384),
  [1124] = {.count = 1, .reusable = false}, SHIFT(409),
  [1126] = {.count = 1, .reusable = true}, SHIFT(511),
  [1128] = {.count = 1, .reusable = true}, SHIFT(31),
  [1130] = {.count = 1, .reusable = true}, SHIFT(272),
  [1132] = {.count = 1, .reusable = true}, SHIFT(137),
  [1134] = {.count = 1, .reusable = false}, SHIFT(271),
  [1136] = {.count = 1, .reusable = false}, SHIFT(253),
  [1138] = {.count = 1, .reusable = false}, SHIFT(73),
  [1140] = {.count = 1, .reusable = true}, SHIFT(37),
  [1142] = {.count = 1, .reusable = true}, SHIFT(318),
  [1144] = {.count = 1, .reusable = false}, REDUCE(sym_new_tag, 2),
  [1146] = {.count = 1, .reusable = true}, SHIFT(89),
  [1148] = {.count = 1, .reusable = true}, SHIFT(217),
  [1150] = {.count = 1, .reusable = false}, SHIFT(69),
  [1152] = {.count = 1, .reusable = true}, SHIFT(533),
  [1154] = {.count = 1, .reusable = true}, SHIFT(62),
  [1156] = {.count = 1, .reusable = true}, SHIFT(473),
  [1158] = {.count = 1, .reusable = true}, SHIFT(325),
  [1160] = {.count = 1, .reusable = true}, SHIFT(28),
  [1162] = {.count = 1, .reusable = true}, SHIFT(352),
  [1164] = {.count = 1, .reusable = true}, SHIFT(351),
  [1166] = {.count = 1, .reusable = true}, SHIFT(286),
  [1168] = {.count = 1, .reusable = true}, SHIFT(475),
  [1170] = {.count = 1, .reusable = true}, SHIFT(287),
  [1172] = {.count = 1, .reusable = true}, SHIFT(123),
  [1174] = {.count = 1, .reusable = true}, SHIFT(565),
  [1176] = {.count = 1, .reusable = true}, SHIFT(566),
  [1178] = {.count = 1, .reusable = false}, REDUCE(sym_implicit, 1),
  [1180] = {.count = 1, .reusable = true}, SHIFT(116),
  [1182] = {.count = 1, .reusable = true},  ACCEPT_INPUT(),
  [1184] = {.count = 1, .reusable = true}, SHIFT(490),
  [1186] = {.count = 1, .reusable = true}, SHIFT(12),
  [1188] = {.count = 1, .reusable = true}, SHIFT(26),
  [1190] = {.count = 1, .reusable = true}, SHIFT(285),
};

#ifdef __cplusplus
extern "C" {
#endif
#ifdef _WIN32
#define extern __declspec(dllexport)
#endif

extern const TSLanguage *tree_sitter_kumachan(void) {
  static TSLanguage language = {
    .version = LANGUAGE_VERSION,
    .symbol_count = SYMBOL_COUNT,
    .alias_count = ALIAS_COUNT,
    .token_count = TOKEN_COUNT,
    .large_state_count = LARGE_STATE_COUNT,
    .symbol_metadata = ts_symbol_metadata,
    .parse_table = (const unsigned short *)ts_parse_table,
    .small_parse_table = (const uint16_t *)ts_small_parse_table,
    .small_parse_table_map = (const uint32_t *)ts_small_parse_table_map,
    .parse_actions = ts_parse_actions,
    .lex_modes = ts_lex_modes,
    .symbol_names = ts_symbol_names,
    .public_symbol_map = ts_symbol_map,
    .alias_sequences = (const TSSymbol *)ts_alias_sequences,
    .field_count = FIELD_COUNT,
    .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH,
    .lex_fn = ts_lex,
    .external_token_count = EXTERNAL_TOKEN_COUNT,
  };
  return &language;
}
#ifdef __cplusplus
}
#endif
